.html()


获取匹配元素集中第一个元素的HTML内容,或设置每个匹配元素的HTML含量。

.html()退货:字符串

描述:获取匹配元素集中第一个元素的HTML内容。

  • 添加的版本:1.html()

    • 此方法不接受任何参数。

此方法在XML文档中不可用。

在HTML文档中,.html()可用于获取任何元素的内容。如果选择器表达式匹配多个元素,则只有第一个匹配的元素会返回其HTML内容。考虑以下代码:

1
$(“div.demo-container”).html();

为了实现以下目的<div>的内容将被检索,它必须是第一个具有class=“demo-container”在文档中:

1
2
<div公司 =“演示控制器”>
<div公司 =“演示框”>演示箱</div公司>
</div公司>

结果如下:

1
<div公司 =“演示框”>演示箱</div公司>

此方法使用浏览器的内部HTML属性。某些浏览器可能不会返回与原始文档中的HTML源完全相同的HTML。例如,如果属性值只包含字母数字字符,Internet Explorer有时会在属性值周围省略引号。

附加说明:

  • 根据设计,任何接受HTML字符串的jQuery构造函数或方法-jQuery(),.append(),.after()等-可能会执行代码。这可以通过插入脚本标记或使用执行代码的HTML属性(例如,<img onload=“”>). 不要使用这些方法插入从不受信任的源(如URL查询参数、cookie或表单输入)获取的字符串。这样做可能会引入跨站点脚本(XSS)漏洞。在向文档添加内容之前,请删除或转义任何用户输入。

例子:

单击一个段落将其从html转换为文本。

1
2
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格式>
<html格式 =“en”(英语)>
<>
< 字符集=“utf-8”>
<标题>html演示</标题>
<风格>
{
边缘:8像素;
字体大小:20像素;
颜色:蓝色;
光标:指针;
}
b条{
文本删除:下划线;
}
按钮{
光标:指针;
}
</风格>
<脚本 型钢混凝土="https://code.jquery.com/jquery-3.7.0.js"></脚本>
</>
<身体>
<>
<b条>点击</b条>更改<跨度 身份证件=“标签”>html格式</跨度>
</>
<>
<跨度 身份证件=“文本”>文本</跨度>节点。
</>
<>
这个<按钮 名称=“纳达”>按钮</按钮>什么都不做。
</>
<脚本>
$(“p”)上的(“单击”,功能(){
无功功率,无功功率htmlString=$().html();
$().text(htmlString);
});
</脚本>
</身体>
</html格式>

演示:

.html(htmlString)退货:jQuery(jQuery)

描述:设置匹配元素集中每个元素的HTML内容。

  • 添加的版本:1.html(htmlString)

    • html字符串
      类型:html字符串
      要设置为每个匹配元素内容的HTML字符串。
  • 添加的版本:1.4.html(函数)

    • 功能
      类型:功能(整数索引,html字符串旧html)=>html字符串
      返回要设置的HTML内容的函数。接收元素在集合中的索引位置和旧HTML值作为参数。jQuery在调用函数之前清空元素;使用oldhtml参数引用前面的内容。在函数中,指集合中的当前元素。

这个.html()方法在XML文档中不可用。

什么时候?.html()用于设置元素的内容,该元素中的任何内容都将被新内容完全替换。此外,jQuery删除了其他构造,如数据和事件在用新内容替换这些元素之前,请使用子元素中的处理程序。

考虑以下HTML:

1
2
<div公司 =“演示控制器”>
<div公司 =“演示框”>示范箱</div公司>
</div公司>

的内容<div class=“demo-container”>可以这样设置:

1
2
$(“div.demo-container”)
.html格式(“<p>所有新内容。<em>当然!</em></p>”);

这行代码将替换其中的所有内容<div class=“demo-container”>:

1
2
<div公司 =“演示控制器”>
<>所有新内容。<相对长度单位>当然!</相对长度单位></>
</div公司>

从jQuery 1.4开始.html()方法允许通过传入函数来设置HTML内容。

1
2
4
$(“div.demo-container”).html格式(功能(){
无功功率,无功功率强调=“<em>”+ $(“p”).长度+“段落!</em>”;
返回 “<p>的所有新内容”+强调+“</p>”;
});

给定一个包含六个段落的文档,此示例将设置<div class=“demo-container”><p><em>6段的所有新内容</电子邮箱></p>.

此方法使用浏览器的内部HTML属性。有些浏览器可能无法生成完全复制所提供的HTML源代码的DOM。例如,版本8之前的Internet Explorer将转换所有href公司如果不添加单独的相容层.

设置的内容<脚本>元素(不包含HTML)使用.text()方法而不是.html().

注:在9版及之前的Internet Explorer中,设置HTML元素的文本内容可能会损坏其子元素的文本节点,这些子元素是由于操作而从文档中删除的。如果您保留对这些DOM元素的引用,并且需要它们保持不变,请使用.empty().html(字符串)而不是.html(字符串)以便在将新字符串分配给元素之前,从文档中删除元素。

示例:

向每个div添加一些html。

1
2
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<!文档类型html格式>
<html格式 =“en”(英语)>
<>
< 字符集=“utf-8”>
<标题>html演示</标题>
<风格>
.红色{
颜色:红色;
}
</风格>
<脚本 型钢混凝土="https://code.jquery.com/jquery-3.7.0.js"></脚本>
</>
<身体>
<跨度>你好</跨度>
<div公司></div公司>
<div公司></div公司>
<div公司></div公司>
<脚本>
$(“div”).html(“<跨度 =“红色”>你好<b条>再一次</b条></跨度>" );
</脚本>
</身体>
</html格式>

演示:

向每个div添加一些html,然后立即对插入的html进行进一步操作。

1
2
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
<!文档类型html格式>
<html格式 =“en”(英语)>
<>
< 字符集=“utf-8”>
<标题>html演示</标题>
<风格>
div公司{
颜色:蓝色;
字体大小:18像素;
}
</风格>
<脚本 型钢混凝土="https://code.jquery.com/jquery-3.7.0.js"></脚本>
</>
<身体>
<div公司></div公司>
<div公司></div公司>
<div公司></div公司>
<脚本>
$(“div”(div)).html格式(“哇!太激动了……”);
$(“第b部分”)
.append(追加)(文件.createTextNode创建文本节点("!!!") )
.css文件(“颜色”,“红色”);
</脚本>
</身体>
</html格式>

演示: