jQuery parseHTML用法

时间:2015-04-05 20:37:52

标签: jquery html parsing

jQuery' parseHTML()是否意味着我可以接受任何HTML代码串并将其视为在DOM中?我可以通过使用选择器查找元素,替换元素,在插件上调用(" destroy"),获取元素索引以及可以使用DOM中的元素完成的所有其他内容来操纵HTML字符串,但是应用于变量所持有的HTML字符串的更改?

1 个答案:

答案 0 :(得分:1)

parseHTML()会将顶级节点作为DOM元素返回,然后您可以将其作为DOM元素进行操作。如果将字符串传递给未被一个标记封装的parseHTML(),它会将字符串拆分为单独的DOM元素。

样本1:

var html = $.parseHTML("<div id='#first'><div id='#second'><span>testing</span></div></div>");

$.each( html, function( i, el ) {
  console.log(el.nodeName ? "true" : "false");
});

/* Outputs:
true
*/

样本2:

var html2 = $.parseHTML("Sample string with <strong>bold</strong> and a <div>div</div>.");

$.each( html2, function( i, el ) {
  console.log(el.nodeName ? "true" : "false");
});

/* Outputs:
true
true
true
true
true
*/

在第一个示例中,创建了一个包含嵌套元素集的DOM元素。在第二个中,字符串被拆分为五个单独的DOM元素:三个文本元素,一个<strong></strong>和一个<div></div>

注意:如果元素是DOM元素,(el.nodeName ? "true" : "false")将返回true。

另外,要回答上一个问题,应用于这些结果DOM元素的更改将不会反映在包含原始元素的变量中(在这种情况下,var html或{{1 }})