jQuery append()vs appendChild()

use*_*567 80 javascript jquery append appendchild

这是一些示例代码:

function addTextNode(){
    var newtext = document.createTextNode(" Some text added dynamically. ");
    var para = document.getElementById("p1");
    para.appendChild(newtext);
    $("#p1").append("HI");
}
Run Code Online (Sandbox Code Playgroud)
<div style="border: 1px solid red">
    <p id="p1">First line of paragraph.<br /></p>
</div>
Run Code Online (Sandbox Code Playgroud)

append()和之间有什么区别appendChild()
任何实时场景?

Cla*_*edi 92

主要区别在于它appendChild是一个DOM方法,append是一个jQuery方法.第二个使用第一个,你可以在jQuery源代码上看到

append: function() {
    return this.domManip(arguments, true, function( elem ) {
        if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
            this.appendChild( elem );
        }
    });
},
Run Code Online (Sandbox Code Playgroud)

如果您在项目中使用jQuery库,那么append在向页面添加元素时总是会安全使用.

  • javascript 现在也有一个 `ParentNode.append()`。请查看@SagarV 的答案以获取更多信息。 (4认同)
  • @RobFox:安全我的意思是说,如果您使用的是 jquery,那么您可以安全地使用 always append (没有首选 DOM appendchild 的情况)。关于 domManip,似乎主要目标是使用 DOM DocumentFragments。[这里](http://www.blog.highub.com/javascript/decoding-jquery-dommanip-dom-manipulation/) 你有方法的描述和[这里](http://ejohn.org/blog /dom-documentfragments/) 你有 John Resig 关于使用片段背后动机的官方说法 (2认同)

Sag*_*r V 37

不再

now append是JavaScript中的一种方法

有关追加方法的MDN文档

引用MDN

ParentNode.append方法DOMString在最后一个子节点之后插入一组Node对象或对象ParentNode.DOMString对象作为等效的Text节点插入.

IE和Edge不支持此功能,但Chrome(54 +),Firefox(49+)和Opera(39+)支持此功能.

JavaScript的追加类似于jQuery的追加.

您可以传递多个参数.

var elm = document.getElementById('div1');
elm.append(document.createElement('p'),document.createElement('span'),document.createElement('div'));
console.log(elm.innerHTML);
Run Code Online (Sandbox Code Playgroud)
<div id="div1"></div>
Run Code Online (Sandbox Code Playgroud)


Fen*_*ton 15

append 是一种将一些内容或HTML附加到元素的jQuery方法.

$('#example').append('Some text or HTML');
Run Code Online (Sandbox Code Playgroud)

appendChild 是一个用于添加子元素的纯DOM方法.

document.getElementById('example').appendChild(newElement);
Run Code Online (Sandbox Code Playgroud)


小智 7

我知道这是一个陈旧且回答的问题,我不是在寻找选票,我只是想添加一些额外的小东西,我认为这可能对新手有所帮助.

appendChild一个DOM方法,并且append是JQuery方法,但实际上关键的区别在于appendChild将节点作为参数,我的意思是,如果你想向DOM添加一个空段,你需要先创建该p元素

var p = document.createElement('p')

然后你可以将它添加到DOM,而JQuery append为你创建该节点并立即将它添加到DOM,无论它是文本元素还是html元素或组合!

$('p').append('<span> I have been appended </span>');


Nea*_*eal 5

appendChild是一个DOM vanilla-js函数.

append 是一个jQuery函数.

他们每个人都有自己的怪癖.