2015-11-14 60 views
0

我的问题是为什么要将文本添加到div上导致文本显示?这是我试图了解幕后发生的事情后的功能。我已阅读.append上的jquery文档和div属性的html5文档。:jquery中的文本.append

答案可能正在凝视着我!

HTML

<div id="Content"> 
<button id="Add">Add Text</button> 
</div> 
<div></div> 

JS

$(function() { 
    $('#Add').on('click', function() { 
    $('<div/>', 
     {text:"why does this work?", x: 2} 
    ).appendTo('#Content'); 
    }); 
}); 
+0

http://api.jquery.com/jquery/#jQuery-html-attributes –

+1

谢谢,解释它! –

回答

2

这仅仅是因为你正在创建一个新的元素,然后将其追加到DOM树的事实。

在幕后,与create通话,您正在创建一个新的节点作为HTML部门(div)。该,你给它一些text;想象这是给它一些内容。 innerHtml也将工作,但正如你所说。

然后,你将这个节点附加到一棵树上; DOM引擎正在重新渲染该块,从而显示该元素。

因为我不知道是不是工作,我无法比较两者。

+0

weirdpanda它的工作完美,我只是不知道为什么。你的回答很有道理,应该为自己弄明白。 –

+0

哈哈!乐趣!阅读https://api.jquery.com/category/manipulation/获取DOM操作的完整列表! :) – weirdpanda

+1

Weirdpandas的回复非常好,只是让我补充说,在本地JS你也创建文本节点。这是jQuery很好的理解之一。 –