jQuery是一个javascript框架,但绝对不是通常意义上的一些包装,个人感觉是一个改变js控制方式的框架。我们可以像美工通过写css分离页面代码一样,通过jQuery来分离页面与效果、。下面转一段介绍:
jQuery具有如下一些特点:
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/
在使用过jQuery后,也发现了一些不爽的地方 :
1.大量使用回调(类似java中使用匿名内部类)格式。导致代码不好阅读,更麻烦的是,一不小心就会丢失});结束符,导致js失败。。调试js是一个痛苦的过程。
2.使用${}获取到的对象都是jQuery对象,导致DOM中的函数,事件失效。
比如一个<input type="checkbox" id="aaa"/>, 使用$("#aaa")得到jQuery对象,但是$("#aaa").checked会出错
jQuery使用自己的API,与标准js不兼容.
p.s.解决jQuery到DOM对象的转换:
<input type="checkbox" id="aaa"/>
1. 使用$("#aaa")得到jQuery对象 。使用$("#aaa")[0]则可以取得DOM对象,$("#aaa")[0].checked使用无误。
2. jQuery的API中提到了一个get()函数,可以解决对象到DOM的转换。
get() 取得所有匹配的 DOM 元素集合。
这是取得所有匹配元素的一种向后兼容的方式(不同于jQuery对象,而实际上是元素数组)。
如果你想要直接操作 DOM 对象而不是 jQuery 对象,这个函数非常有用。
-------------------------------------------------------------------------------- Access all matched DOM elements. This serves as a backwards-compatible way of accessing all matched elements (other than the jQuery object itself, which is, in fact, an array of elements). It is useful if you need to operate on the DOM elements themselves instead of using built-in jQuery functions.
返回值 Array<Element>
注意到返回的是队列,$("#aaa").get()[0] 就可以返回当前DOM的 input元素。$("#aaa").get()[0].checked使用无误
惊叹jQuery(解决jQuery对象到DOM的转换)