jQuery 1.4:15个你应该知道的新特性
2010-01-25 00:00:00 来源:WEB开发网核心提示: jQuery.contains(document.documentElement,document.body);//返回true-<body>在<html>存在9. 去掉元素的包装 ".warp()”已经在jQuery中有段日子了,现在跟它对应的&q
jQuery.contains(document.documentElement, document.body);
// 返回true - <body>在<html>存在
9. 去掉元素的包装
".warp()”已经在jQuery中有段日子了,现在跟它对应的".unwrap()”方法也被加进到1.4中了。这个方法刚好跟warp()方法相反。假设有下面的DOM结构:
<div>
<p>Foo</p>
</div>
我们可以用下面的函数去掉段落元素的外层:
jQuery('p').unwrap();
最终的DOM结构如下:
1 <p>Foo</p>
注意,这个方法处理比较简单,它会移掉任何元素的父节点。
10. detach() vs remove()
新的".detach()”方法允许你从DOM中移掉元素,这跟".remove()”很像。但与".remove()”有本质不同的是"detach()”不会将jQuery赋给该元素的数据也给注销掉。这包含通过".data()”和其他任意的通过jQuery的事件系统添加的事件等数据。
如果你想从DOM中移除某个元素,但你又可能需要在后面的某个时候把该元素重新添加到DOM中的时候这个函数将会很有用,这时候该元素的事件和其他的数据都会被保留下来。
var foo = jQuery('#foo');
// 绑定一个重要的事件
foo.click(function(){
alert('Foo!');
});
foo.detach(); // 从 DOM中移除事件
// … 其他操作
foo.appendTo('body'); // 将元素重新加入到 DOM
foo.click(); // 弹出 "Foo!"
11. index(…) 加强
更多精彩
赞助商链接