jQuery.parseHTML() 方法

最后更新于:2022-03-27 02:06:24

jQuery.parseHTML()方法

jQuery.parseHTML()  方法jQuery 杂项方法

实例

使用一个HTML字符串创建一个数组的Dom节点,并将它插入一个div

<div id="log">
<
h3>Content:</h3>
</
div>
<
script>
$
(function () {
var $log = $( "#log" ),
str = "hello, <b>my name is</b> jQuery.",
html = $.parseHTML( str ),
nodeNames = [];
//添加已解析的HTML
$
log.append( html );
//集合已解析HTML的节点名称
$.
each( html, function( i, el ) {
nodeNames[i] = "<li>" + el.nodeName + "</li>";
});
// 插入节点名
$
log.append( "<h3>Node Names:</h3>" );
$
( "<ol></ol>" )
.
append( nodeNames.join( "" ) )
.
appendTo( $log );
})
</
script>

尝试一下 »


定义和用法

$.parseHTML() 函数用于将HTML字符串解析为对应的DOM节点数组。

注意:1. 该函数将使用原生的DOM元素创建函数把HTML字符串转换为一个DOM元素的集合,你可以将这些DOM元素插入到文档中。

2. 如果没有指定context参数,或该参数为null或undefined,则默认为当前document。如果创建的DOM元素用于另一个文档,例如iframe,则应该指定该iframe的document对象。

安全考虑:大多数jQuery API都允许HTML字符串在HTML中包含运行脚本。
jQuery.parseHTML()不会运行解析的HTML中的脚本,除非你明确将参数keepScripts指定为true。
不过,大多数环境仍然可以间接地执行脚本,例如:通过属性。调用者应该避免
这样做,并清理或转义诸如URL、cookie等来源的任何不受信任的输入,从而预防出现这种情况。
出于未来的兼容性考虑,当参数keepScripts被省略或为false时,调用者应该不依赖任何运行脚
本内容的能力。


语法

$.parseHTML( htmlString [, context ] [, keepScripts ] )

参数 描述
htmlString String类型 需要解析并转为DOM节点数组的HTML字符串
context Element类型 指定在哪个Document中创建元素,默认为当前文档的document
keepScripts Boolean类型 指定传入的HTML字符串中是否包含脚本,默认为false


jQuery.parseHTML()  方法jQuery 杂项方法