.html()返回类型:String
描述:取得匹配的元素集合中第一个元素的HTML内容。
此方法在XML文档中不可用。
在HTML文档中,.html()
可以用来取回任何元素的内容。如果选择器表达式匹配不止一个元素,只返回第一个元素的HTML内容。请考虑此代码:
1
|
|
为了检索下面的<div>
的内容,它就必须是文档中第一个带有class="demo-container"
的元素:
1
2
3
|
|
输出结果将如下所示:
1
|
|
此方法使用浏览器的innerHTML
属性。有些浏览器可能不返回精确复制原始HTML文档中HTML源的HTML。例如,Internet Explorer 有时候会丢掉包围特性值的引号,如果它只包含了字母表字符的话。
补充说明:
示例:
点击段落以把它从HTML转换为文本。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
|
演示:
.html( htmlString )返回类型:jQuery
描述:设置每个匹配的元素的HTML内容。
-
增补版本:1.0.html( htmlString )
-
htmlString类型:htmlString一个HTML字符串,要被设置为每个匹配的元素的内容。
-
-
增补版本:1.4.html( function )
-
function一个函数,返回要设置的HTML内容。检索集合中元素的索引位置以及旧的HTML值作为参数。 在调用此函数之前,jQuery清空了元素。 请使用oldhtml参数来引用先前的内容。 在此函数内部,
this
指的是集合中的当前元素。
-
XML文档中不能使用.html()
方法。
如果.html()
被用来设置一个元素的内容,则元素中的任何内容都会被新内容完全替代。
此外,jQuery在用新内容替换掉那些元素之前,会从子元素上删除掉其它构造,譬如数据和事件处理函数。
请考虑以下HTML:
1
2
3
|
|
<div class="demo-container">
的内容可以被设置成下面这样:
1
2
|
|
代码行将替换<div class="demo-container">
里面的所有东西:
1
2
3
|
|
自从jQuery 1.4,.html()
方法允许通过传入一个函数来设置HTML内容。
1
2
3
4
|
|
给定一个文档,带有六个段落,此示例将把<div class="demo-container">
的HTML设置<p>All new content for <em>6 paragraphs!</em></p>
。
此方法使用浏览器的innerHTML
属性。有些浏览器可能不能生成精确替代提供的HTML源的DOM。例如,Internet Explorer 8以前的版本针把链接上的所有的href
属性转换为绝对URL,如果不加单独的兼容性图层,Internet Explorer 9以前的版本不能正确处理HTML5元素。
若要设置不包含HTML内容的<script>
元素的内容,请用.text()
方法,而非.html()
方法。
注意:在Internet Explorer 9以前的版本中,包括Internet Explorer 9,设置一个HTML元素的文本内容,可能会毁坏它的子元素的文本节点,作为操作的结果,将从文档中删除它的子元素。如果你正在保持对这些DOM元素的引用,需要它们不被改变,请使用.empty().html( string )
代替.html(string)
,从而当新字符串赋值到元素之前,会先从文档中删除这些元素。
示例:
给每个div添加HTML。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
|
演示:
给每个div添加一些HTML,然后立即做进一步操作,以插入HTML。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
|