网络上最受欢迎的JavaScript库已更新。 jQuery 1.6现在可以从以下位置下载:
http://code.jquery.com/jquery-1.6.js
http://code.jquery.com/jquery-1.6.min.js
jQuery团队尝试维护与旧版本的兼容性。 但是,尽管大多数人不会遇到问题,但没有替代严格的测试的方法。 除了大量错误修复和速度改进之外,最新版本中还进行了几项重大更改……
更改:DOM属性和属性的单独处理
在大多数情况下,JavaScript开发人员将相同地处理DOM节点属性。 jQuery的早期版本没有任何区别,但是这种方法存在一些问题。 考虑:
<input type="checkbox" checked />
在这种情况下,DOM .checked属性设置为true,但属性值为空字符串。 在早期版本的jQuery中,.attr(“ checked”)将返回true-现在返回“”。 新的.prop()和.removeProp()方法可用于相应地修改或删除DOM属性。
更改:数据属性框
.data()方法自动导入HTML5数据属性,例如
<div data-day-now="Monday" />
在jQuery 1.5中,这将导致一个数据对象{day-now:“ Monday”}。 1.6版遵循W3C HTML5规范,并设置{dayNow:“ Monday”}。
新:焦点选择器
现在可以选择一个具有焦点的元素,例如
$("input:focus").addClass("focused");
请注意,如果要搜索当前具有焦点的元素,则$(document.activeElement)
更快,更高效。
新:jQuery.holdReady(hold)
$ .holdReady()方法延迟了jQuery的ready事件。 这可以用于在触发就绪事件之前动态加载脚本,例如
$.holdReady(true);
$.getScript("anotherScript.js", function() {
$.holdReady(false);
// ready event can now fire
});
改进:相对CSS
现在可以使用相对值修改CSS属性,例如
// move 10px to the right
$("#item").css("left", "+=10px");
改进:jQuery.map()
现在可以映射对象以及数组元素的属性,例如
var obj = { p1: 1, p2: 2, p3: 3 };
jQuery.map( obj, function( val ) { ... });
改进:find(),最近()和is()
现在可以将DOM树中的遍历和定位节点与元素以及选择器字符串或jQuery对象进行匹配。
在jQuery 1.7上…
jQuery团队现在正在为1.7版提出建议。 如果您迫切需要新功能或改进功能,请在jQuery 1.7 Roadmap Proposal form上留下您的评论。