<?xml version="1.0" encoding="UTF-8"?><!-- generator="WordPress/2.9.2" -->
<rss version="0.92">
<channel>
	<title>Chao's Blog</title>
	<link>http://www.lbchh.cn</link>
	<description></description>
	<lastBuildDate>Wed, 03 Jun 2009 16:04:53 +0000</lastBuildDate>
	<docs>http://backend.userland.com/rss092</docs>
	<language>en</language>
	
	<item>
		<title>理解jquery对象和DOM对象的区别</title>
		<description><![CDATA[一直以来对于通过jQuery方式获取的对象使不能直接使用JavaScript的一些方法的，开始的时候不理解，现在才知道，原来jQuery 获得的对象并不和我们平时使用getElementById获得的对象是一样的对象。所以一些新手就很迷惑，为什么${”#Element”}不能直接 innerHTML，这就是原因所在，解决方式请看下文。

jQuery对象与dom对象的转换
只有jquery对象才能使用jquery定义的方法。注意dom对象和jquery对象是有区别的，调用方法时要注意操作的是dom对象还是jquery对象。
普通的dom对象一般可以通过$()转换成jquery对象。
如：
1. $(document.getElementById("msg"))
则为jquery对象，可以使用jquery的方法。
由于jquery对象本身是一个集合。所以如果jquery对象要转换为dom对象则必须取出其中的某一项，一般可通过索引取出。
如：
1. $("#msg")[0]，$("div").eq(1)[0]，$("div").get()[1]，$("td")[5]
这些都是dom对象，可以使用dom中的方法，但不能再使用Jquery的方法。
以下几种写法都是正确的：
1. $("#msg").html();
2. $("#msg")[0].innerHTML;
3. $("#msg").eq(0)[0].innerHTML;
4. $("#msg").get(0).innerHTML;
文章摘自：jquery对象和DOM对象的转换
]]></description>
		<link>http://www.lbchh.cn/?p=315</link>
			</item>
	<item>
		<title>XML</title>
		<description><![CDATA[首先要明确的是:XML是被设计用来存储数据、携带数据和交换数据的，他不是为了显示数据而设计的。

XML可以从HTML中分离数据
通过XML,你可以在HTML文件之外存储数据。在不使用XML时，HTML用于显示数据，数据必须存储在HTML文件之内;使用了XML，数据就可以存放在分离的XML文档中。这种方法可以让你集中精力去到使用HTML做好数据的显示和布局上，并确保数据改动时不会导致HTML文件也需要改动。这样可以方便维护页面。XML数据同样可以以“数据岛”的形式存储在HTML页面中。你仍然可以集中精力到使用HTML格式化和显示数据上去。
XML用于交换数据
通过XML,我们可以在不兼容的系统之间交换数据。在现实生活中，计算机系统和数据库系统所存储的数据有N^N种形式,对于开发者来说，最耗时间的就是在遍布网络的系统之间交换数据。把数据转换为XML格式存储将大大减少交换数据是的复杂性，并且还可以使得这些数据能被不同的程序读取。
XML 和 B2B
使用XML, 可以在网络中交换金融信息。在不远的将来，我们可以期望看到很多关于XMl和B2B(Business To Business)的应用。XML正在成为遍布网络的商业系统之间交换金融信息所使用的主要语言。许多与B2B有关的完全基于XML的应用程序正在开发中。
XML可以用于共享数据
通过XML,纯文本文件可以用来共享数据。既然XML数据是以纯文本格式存储的，那么XML提供了一种与软件和硬件无关的共享数据方法。这样创建一个能够被不同的应用程序读取的数据文件就变得简单了。同样，我们省级操作系统、升级服务器、升级应用程序、更新浏览器就容易多了。
XML可以用于存储数据
利用XML, 纯文本文件可以用来存储数据。大量的数据可以存储到XML文件中或者数据库中。应用程序可以读写和存储数据，一般的程序可以显示数据。
XML可以充分利用数据
使用XML,你的数据可以被更多的用户使用。既然XML是与软件、硬件和应用程序无关的，所以可以使你的数据可以被更多的用户、更多的设备所利用，而不仅仅是基于HTML标准的浏览器哦。别的客户端和应用程序可以把你的XML文档作为数据源来处理，就像他们对待数据库一样，你的数据可以被各种各样的“阅读器”处理，这时对某些人来说是很方便的，比如盲人或者残疾人。
XML可以用于创建新的语言
XML是WAP和WML语言的母亲。无线标记语言(WML，The Wireless Markup Language ), 用于标识运行于手持设备上(比如:手机)的Internet程序。
展望未来
如果开发者有足够的预见性，那么将来的应用程序都应该使用XML的形式来此存储数据。将来我们所使用的字处理器、电子表格软件和数据库应该能够以纯文本的格式相互读取数据，而不需要经过格式转化的过程。我们只能期盼微软和其他软件开发商也赞同这一点。//事实上微软正在大力发展XML的应用呢。
]]></description>
		<link>http://www.lbchh.cn/?p=312</link>
			</item>
	<item>
		<title>15款jQuery幻灯片插件</title>
		<description><![CDATA[Galleriffic 是使用 Mike Alsup 的 jQuery Cycle plugin 创建的图片展示效果，包括缩略图、图片标题和描述等详细功能，是一个非常不错的高质量画廊相册展示工具。]]></description>
		<link>http://www.lbchh.cn/?p=306</link>
			</item>
	<item>
		<title>网页应不应该去掉链接周围虚线框？</title>
		<description><![CDATA[今天突然发觉一个很奇怪的疑问，一些专注于CSS和XHTML、Web 2.0和Web标准的站点都在探讨如何 去掉当鼠标点击时超级链接周围的虚线框（outline）

如，outline:none 或者 outline:0。可能有时候默认出现虚线框（outline）会影响美观，但是它的存在必然有它的道理：那就是提高站点的易用性，特别是给运用键盘导航的人带来极大的便利。我们在讨论语义化，易用性的同时却总在做与其背道而驰的事情。
一、虚线框（outline）给键盘导航带来便利
我在阅读文章的时候有个习惯：极少运用鼠标，基本上全部靠键盘。而运用最多的就是Tab键、PageUp、PageDown、Entern还有四个方向键。Tab键用来导航超级链接，可以在不同超级链接之间切换，选中某链接之后直接按Enter进入（现在你就可以运用 Tab键在本页上看看效果）。当Tab键聚焦（focus）某链接时这个链接的周围就会出现一个虚线框（outline），代表这个链接已经处于焦点状态，确定即可访问。当然很多人可能会说，运用鼠标多么方便啊，干吗用键盘？在这里我想说多个理由。
据说有一条道别能不能真实的计算机老手的标准就是，能不能可以不运用鼠标就可以完成所有操作。有时候我看文章时，右手端着咖啡左手敲动键盘不影响我阅读。
特殊人群的特殊须要，你的站点不是只给你一个人看的，你不能左右别人如何运用你的站点。
运用 Tab键聚焦到一链接时的新式（不同阅读器中可能不尽相同，但是每个阅读器都有此功能，可见其必要性）
二、更加糟糕的用户体验
用outline:none 或者 outline:0去掉外虚线框，虽然从链接上看不到变化了，但是至少还可以从状态栏里看出链接信息。但是更加糟糕的用户体验是运用 JavsScript的onfocus事件，当用户聚焦某链接时，它立即取消该焦点，也就是说你永远也不能聚焦到这个超级链接上，所以如果你不运用鼠标你绝对不可能访问这个页面上的任何一个链接。更有老手开发出了运用 JQuery等来去除outline。如果你Google一下“去掉链接虚线”，你会得到几万个结果，看来很多人须要、很多人在研究。但是他的确违背了Web的易用性原则，完全没有考虑到用户体验。
三、可替代的选择
如果你确实觉得觉得出现虚线框会影响美观的话，你完全可以有更好的选择。那就是运用 CSS中的:focus 伪类。例如运用
a:focus { background-color:#f00; }
/*或者*/
a:hover, a:focus {text-decoration:underline;}
配置焦点被触发时，链接背景为红色等。当然可以根据须要设计出更加复杂的样式，更可以把focus和hover配置成同样的样式。但是有一点，你不能屏蔽掉focus触发机制。
所以永远也不要去移除超级链接周围的虚线框，至少不能屏蔽掉focus的触发
（出处：http://www.abcdown.net）
]]></description>
		<link>http://www.lbchh.cn/?p=287</link>
			</item>
	<item>
		<title>jquery技巧总结</title>
		<description><![CDATA[一、简介
1.1、概述
随着WEB2.0及ajax思想在互联网上的快速发展传播，陆续出现了一些优秀的Js框架，其中比较著名的有 Prototype、YUI、jQuery、mootools、Bindows以及国内的JSVM框架等，通过将这些JS框架应用到我们的项目中能够使程 序员从设计和书写繁杂的JS应用中解脱出来，将关注点转向功能需求而非实现细节上，从而提高项目的开发速度。
jQuery是继prototype 之后的又一个优秀的Javascript框架。它是由 John Resig 于 2006 年初创建的，它有助于简化 JavaScript™ 以及Ajax 编程。有人使用这样的一比喻来比较prototype和jQuery：prototype就像Java，而jQuery就像ruby. 它是一个简洁快速灵活的JavaScript框架，它能让你在你的网页上简单的操作文档、处理事件、实现特效并为Web页面添加Ajax交互。

它具有如下一些特点：
1、代码简练、语义易懂、学习快速、文档丰富。
2、jQuery是一个轻量级的脚本，其代码非常小巧，最新版的JavaScript包只有20K左右。
3、jQuery支持CSS1-CSS3,以及基本的xPath。
4、jQuery是跨浏览器的，它支持的浏览器包括IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+。
5、可以很容易的为jQuery扩展其他功能。
6、能将JS代码和HTML代码完全分离，便于代码和维护和修改。
7、插件丰富，除了jQuery本身带有的一些特效外，可以通过插件实现更多功能，如表单验证、tab导航、拖放效果、表格排序、DataGrid，树形菜单、图像特效以及ajax上传等。
jQuery的设计会改变你写JavaScript代码的方式，降低你学习使用JS操作网页的复杂度，提高网页JS开发效率，无论对于js初学者还是资深专家，jQuery都将是您的首选。
jQuery适合于设计师、开发者以及那些还好者，同样适合用于商业开发，可以说jQuery适合任何JavaScript应用的地方，可用于不同的Web应用程序中。
官方站点：http://jquery.com/  中文站点：http://jquery.org.cn/
1.2、目的
通过学习本文档，能够对jQuery有一个简单的认识了解，清楚JQuery与其他JS框架的不同，掌握jQuery的常用语法、使用技巧及注意事项。
二、使用方法
在需要使用JQuery的页面中引入JQuery的js文件即可。
例如：&#60;script type="text/javascript" src="js/jquery.js"&#62;&#60;/script&#62;
引入之后便可在页面的任意地方使用jQuery提供的语法。
三、学习教程及参考资料
请参照《jQuery中文API手册》和http://jquery.org.cn/visual/cn/index.xml
推荐两篇不错的jquery教程：《jQuery的起点教程》和《使用 jQuery 简化 Ajax 开发》
(说明：以上文档都放在了【附件】中)
四、语法总结和注意事项
1、关于页面元素的引用
通过jquery的$()引用元素包括通过id、class、元素名以及元素的层级关系及dom或者xpath条件等方法，且返回的对象为jquery对象（集合对象），不能直接调用dom定义的方法。
2、jQuery对象与dom对象的转换
只有jquery对象才能使用jquery定义的方法。注意dom对象和jquery对象是有区别的，调用方法时要注意操作的是dom对象还是jquery对象。
普通的dom对象一般可以通过$()转换成jquery对象。
如：$(document.getElementById("msg"))则为jquery对象，可以使用jquery的方法。
由于jquery对象本身是一个集合。所以如果jquery对象要转换为dom对象则必须取出其中的某一项，一般可通过索引取出。
如：$("#msg")[0]，$("div").eq(1)[0]，$("div").get()[1]，$("td")[5]这些都是dom对象，可以使用dom中的方法，但不能再使用Jquery的方法。
以下几种写法都是正确的：
$("#msg").html();
$("#msg")[0].innerHTML;
$("#msg").eq(0)[0].innerHTML;
$("#msg").get(0).innerHTML;
3、如何获取jQuery集合的某一项
对 于获取的元素集合，获取其中的某一项（通过索引指定）可以使用eq或get(n)方法或者索引号获取，要注意，eq返回的是jquery对象，而get (n)和索引返回的是dom元素对象。对于jquery对象只能使用jquery的方法，而dom对象只能使用dom的方法，如要获取第三个&#60; div&#62;元素的内容。有如下两种方法：
$("div").eq(2).html();              //调用jquery对象的方法
$("div").get(2).innerHTML;       //调用dom的方法属性
4、同一函数实现set和get
Jquery中的很多方法都是如此，主要包括如下几个：
$("#msg").html();              //返回id为msg的元素节点的html内容。
$("#msg").html("&#60;b&#62;new content&#60;/b&#62;");
//将“&#60;b&#62;new content&#60;/b&#62;” 作为html串写入id为msg的元素节点内容中,页面显示粗体的new content
$("#msg").text();              //返回id为msg的元素节点的文本内容。
$("#msg").text("&#60;b&#62;new content&#60;/b&#62;");
//将“&#60;b&#62;new content&#60;/b&#62;” 作为普通文本串写入id为msg的元素节点内容中,页面显示粗体的&#60;b&#62;new content&#60;/b&#62;
$("#msg").height();              //返回id为msg的元素的高度
$("#msg").height("300");       //将id为msg的元素的高度设为300
$("#msg").width();              //返回id为msg的元素的宽度
$("#msg").width("300");       //将id为msg的元素的宽度设为300
$("input").val(");       //返回表单输入框的value值
$("input").val("test");       //将表单输入框的value值设为test
$("#msg").click();       //触发id为msg的元素的单击事件
$("#msg").click(fn);       //为id为msg的元素单击事件添加函数
同样blur,focus,select,submit事件都可以有着两种调用方法
5、集合处理功能
对于jquery返回的集合内容无需我们自己循环遍历并对每个对象分别做处理，jquery已经为我们提供的很方便的方法进行集合的处理。
包括两种形式：
$("p").each(function(i){this.style.color=['#f00','#0f0','#00f']})
//为索引分别为0，1，2的p元素分别设定不同的字体颜色。
$("tr").each(function(i){this.style.backgroundColor=['#ccc','#fff'][i%2]})
//实现表格的隔行换色效果
$("p").click(function(){.html())})
//为每个p元素增加了click事件，单击某个p元素则弹出其内容
6、扩展我们需要的功能
$.extend({
min: function(a, b){return a &#60; [...]]]></description>
		<link>http://www.lbchh.cn/?p=263</link>
			</item>
</channel>
</rss>
