DOM操作 (Manipulation)
在jQuery 1.4里一系列的DOM操作方法的性能都有巨大的提升。
.append(), .prepend(), .before(), and .after()的性能提高了。
.html()的性能提高到以前的3倍。
.remove()和.empty()的速度则达到以前的4倍.
新方法: .detach() (.detach() 文档, Commit)
detach()将一个元素从DOM里移除, 但是并不卸载关联的事件处理函数。这个方法可用于暂时性的将一个元素移除,执行相关操作,然后返回。 var foo = $("#foo").click(function() { // 相关操作 }); foo.detach(); // foo保留了相关处理函数 foo.appendTo("body");
新的unwrap()方法 (documentation, commit)
unwrap()方法拿到一个已知的父元素的子元素,然后将父元素用子元素替换。(译注: 将子元素从”包裹”里拿出来, 因名unwrap)。如此这般: <body> <div> <p>annie</p> <p>davey</p> <p>stevie</p> </div> </body> $('div').unwrap(); <body> <p>annie</p> <p>davey</p> <p>stevie</p> </body>
domManip方法里的缓存 (commit)
jQuery会将jQuery("<div>")和.after("<div>")一类方法创建的节点记入缓存。这样, 对于利用这些方法, 使用字符串进行DOM操作的页面,性能将有极大的提高。
无连接的节点间的before, after, replaceWith操作 (commit)
现在你可以对还没有放置到DOM Tree上的节点进行before, after, 和replaceWith的操作了。意味着你可以先对节点进行复杂的操作, 待完成后再放到合适的DOM位置上。这样也能尽量避免操作过程中造成重新排版。 jQuery("<div>").before("<p>Hello</p>").appendTo("body")
.clone(true) 也会复制关联数据 (clone 文档, commit)
1.3版中, .clone(true)虽然也是深度复制, 但是没有复制关联的数据。1.4版里,它则会复制数据, 同时还包括所有的事件。这点上和jQuery.extend在语义想同的, 所以普通对象和阵列会被复制, 但是自定义的对象则不会。
出处:帕兰映像
责任编辑:moby
上一页 jQuery 1.4官方文档中文版 [5] 下一页 jQuery 1.4官方文档中文版 [7]
◎进入论坛网页制作、WEB标准化版块参加讨论,我还想发表评论。
|