您现在的地位: 365体育备用网址 > bet365体育在线, > jQuery 教程 > jQuery 遍历 - contents() 方法

jQuery 遍历 - contents() 方法_365体育备用网址官网资讯

您现在的地位: 365体育备用网址 > bet365体育在线, > jQuery 教程 > jQuery 遍历 - contents() 方法

jQuery 遍历 - contents() 方法

此节有 102 人学习过     参与评论

实例

找到段落中的一切文本节点,并用粗体标签包装它们。

$("p").contents().filter(function(){ return this.nodeType != 1; }).wrap("<b/>");

亲自试一试

定义和用法

contents() 方法获得匹配元素集合中每个元素的子节点,包括文本和注释节点。

语法

.contents()

详细说明

如果给定表示 DOM 元素集合的 jQuery 对象,.contents() 方法同意我们检索 DOM 树中的这些元素的直接子节点,并用匹配元素构造新的 jQuery 对象。.contents() 和 .children() 方法类似,不同的是前者在结果 jQuery 对象中包含了文本节点以及 HTML 元素。

.contents() 方法也能够用于获得 iframe 的内容文档,前提是该 iframe 与主页面在同一个域。

请思索下面这个带有一些文本节点的 <div>,每个节点被两个折行元素 (<br />) 分隔:

<div class="container">
  Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed 
  do eiusmod tempor incididunt ut labore et dolore magna aliqua. 
  <br /><br />
  Ut enim ad minim veniam, quis nostrud exercitation ullamco 
  laboris nisi ut aliquip ex ea commodo consequat.
  <br /> <br />
  Duis aute irure dolor in reprehenderit in voluptate velit 
  esse cillum dolore eu fugiat nulla pariatur.
</div>

我们能够使用 .contents() 方法来把文本块转换为形式良好的段落:

$('.container').contents().filter(function() {
  return this.nodeType == 3;
})
  .wrap('<p></p>')
.end()
.filter('br')
  .remove();

亲自试一试

这段代码首先会接收 <div class="container"> 的内容,然后滤过其文本节点,将文本节点封装入段落标签中。这是通过测验元素的 .nodeType 属性实现的。该属性存有指示节点类型的数字代码;文本节点使用代码 3。内容会被再次过滤,这次针对 <br /> 元素,这些元素会被移除。

如对本文有疑问,请提交到交流精英城国际,广大热心网友会为你解答!! 点击进入精英城国际


公布评论 (102人察看0条评论)
请自觉遵守互联网相关的政策法规,严禁公布色情、暴力、反动的言论。
用户名: 验证码: 点击我更换博客多娱乐城合法吗
最新评论
------分隔线----------------------------
jQuery 教程目录
条评论
Sitemap