jQuery动态添加了一段代码,点击里面的某个元素时,怎么获取相应的另一个元素的text?
jQuer1.4.2版本修复了1.4版本的一些错误和优化了一些不错的改进,速度比1.4.1版本又提升了一倍,该版本对性能做了一些改进,同时增加了一些api ( .delegate() and .undelegate(). ),右图是JQuery各个版本的性能比较:
jquery1.42新特性:
加了两个新方法:.delegate() 和.undelegate(). 是对.live() and .die() 的补充. 这两个方法对特定的事件的起到简化。
范例:
$("table").delegate("td", "hover", function(){ $(this).toggleClass("hover"); });
等于使用 .live():
$("table").each(function(){ $("td", this).live("hover", function(){ $(this).toggleClass("hover"); }); });
另外,以下代码中,.live() 基本上等同于 .delegate().
$(document).delegate("td", "hover", function(){ $(this).toggleClass("hover"); });
变更
大量代码进行了重写, 提升了性能及修正了一些长期存在的问题。
提升性能
每次开发新的jquery版本,我们都努力去持续优化性能,以保证你能用到最高性能的javascript代码。
在Taskspeed benchmark 的测试中,1.4.2比1.4.1快1倍,比1.3.2快2倍。
主要是在下面4个方面进行了提升:
.bind() 和 .unbind().
.empty(), .remove(), 和 .html().
插入单个DOM 节点到 document.