首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

jQuery参照实例 1.11 移除DOM元素

2013-04-02 
jQuery参考实例 1.11 移除DOM元素原文:http://www.lifelaf.com/blog/?p225本文翻译自jQuery Cookbook (O’

jQuery参考实例 1.11 移除DOM元素

原文:

http://www.lifelaf.com/blog/?p=225

本文翻译自jQuery Cookbook (O’Reilly 2009) 1.11 Removing DOM Elements

需求

从DOM树中移除元素。

解决方案

用remove()方法可以将选中的元素集及其子元素从DOM树中移除。以下面的代码为例:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /></head><body>  <h3>Anchors</h3>  <a href='#'>Anchor Element</a>  <a href='#'>Anchor Element</a>  <a href='#'>Anchor Element</a>  <script type="text/JavaScript"    src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>  <script type="text/JavaScript">    jQuery('a').remove();  </script></body></html>

当上述代码用浏览器打开后,在JavaScript执行之前,页面会包含超链接a元素。当remove()方法被执行后,DOM树中的超链接a元素均被移除,而页面上只剩下<h3>元素。

remove()方法还接受一个CSS表达式参数,用于对需要移除的元素进行过滤。比如,上述代码可以被改为仅移除class值为”remove”的超链接元素:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /></head><body>  <h3>Anchors</h3>  <a href='#' class='remove'>Anchor Element</a>  <a href='#'>Anchor Element</a>  <a href='#' class="remove">Anchor Element</a>  <script type="text/JavaScript"    src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>  <script type="text/JavaScript">    jQuery('a').remove('.remove');  </script></body></html>
讨论

使用jQuery的remove()方法需要注意两件事情:

使用remove()方法可以将元素从DOM树中移除,但是这些元素依然还在当前选择的jQuery元素集中。remove()方法之后的代码依旧可以对这些元素进行操作,甚至重新插入到DOM树中。remove()方法在将元素从DOM树中移除之外,还会删除所有该元素上的事件监听器与缓存数据。

热点排行