jquery - $.append() 和 $.append(document.createTextNode()) 之间的区别

标签 jquery html string append

使用以下 html

<div id="duo">batman</div>

以下两行 jQuery 代码有什么区别?

$('#duo').append(' and robin');

$('#duo').append(document.createTextNode(' and robin'));

他们都生产

<div id="duo">batman and robin</div>

第一个 html 和第二个只是一个字符串吗?有关系吗?这意味着什么以及差异意味着什么?


编辑

如果引号内的文本是 ' and <em>robin</em>' 会怎样? ?似乎前一个语句会产生强调的文本,而后者实际上呈现可见 <em>页面上的标签。

最佳答案

结果是一样的,唯一的区别是 jQuery 在第一行创建文本节点。

如果您使用 DOM 方法查看结果(因为 jQuery 使用元素而不是节点),您会看到创建的文本节点:

$('#duo').append(' and robin');
$('#duo').append(document.createTextNode(' and robin'));

var c = document.getElementById('duo').childNodes;
for (var i = 0; i < c.length; i++) {
    console.log(c[i]);
}

输出:

<TextNode textContent="batman">
<TextNode textContent=" and robin">
<TextNode textContent=" and robin">

fiddle :http://jsfiddle.net/Guffa/tgqz37m5/

关于jquery - $.append() 和 $.append(document.createTextNode()) 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26330510/

相关文章:

新行的 HTML 内容具有重叠背景效果

javascript - Dojo 获取元素类型

javascript - 存储 ASCII 艺术以用作简单 JavaScript 游戏中的角色。我可以将它存储在角色的对象中吗?

jquery - 自动滑动需要下一个,上一个选项

C++ 将字符串转换为 uint64_t

c - 使用 strcpy 和指向字符的指针

string - 无法理解http ://pine. cs.yale.edu/pinewiki/SuffixArrays中提到的概念

javascript - 使用 Javascript 获取元素的 CSS 值

asp.net - jQuery $(document).ready() 未触发

javascript - 可拖动框的小故障