.contents()返回值: jQuery
描述: 获取匹配元素集中每个元素的子元素,包括文本节点和注释节点。
-
添加版本: 1.2.contents()
- 此方法不接受任何参数。
给定一个表示一组 DOM 元素的 jQuery 对象,.contents()
方法允许我们搜索 DOM 树中这些元素的直接子元素,并从匹配的元素构建一个新的 jQuery 对象。.contents()
和 .children()
方法类似,但前者在结果 jQuery 对象中包含文本节点和注释节点以及 HTML 元素。请注意,大多数 jQuery 操作不支持文本节点和注释节点。支持它们的少数操作将在其 API 文档页面上明确说明。
.contents()
方法也可以用来获取 iframe 的内容文档,如果 iframe 与主页面位于同一域。
从 jQuery 3.2 开始,.contents()
也返回 <template>
元素的内容。
考虑一个简单的 <div>
,其中包含多个文本节点,每个文本节点之间用两个换行元素 (<br>
) 分隔。
1
2
3
4
5
6
7
8
9
10
|
|
我们可以使用 .contents()
方法将这块文本转换为三个格式良好的段落。
1
2
3
4
5
6
7
8
9
|
|
这段代码首先获取<div class="container">
的内容,然后过滤掉文本节点,这些节点被包裹在段落标签中。这是通过测试元素的.nodeType
属性来实现的。这个 DOM 属性包含一个数字代码,表示节点的类型;文本节点使用代码 3。内容再次被过滤,这次是过滤掉<br />
元素,并删除这些元素。
示例
查找段落中的所有文本节点,并用粗体标签将其包裹起来。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
|
演示
更改 iframe 内链接的背景颜色。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
|