原生JS和jQuery操作DOM對比總結(jié)
一、創(chuàng)建元素節(jié)點
1.1 原生JS創(chuàng)建元素節(jié)點
document.createElement("p");
1.2 jQuery創(chuàng)建元素節(jié)點
$('<p></p>');`
二、創(chuàng)建并添加文本節(jié)點
2.1 原生JS創(chuàng)建文本節(jié)點
`document.createTextNode("Text Content");
通常創(chuàng)建文本節(jié)點和創(chuàng)建元素節(jié)點配合使用,比如:
var textEl = document.createTextNode("Hello World."); var pEl = document.createElement("p"); pEl.appendChild(textEl);
2.2 jQuery創(chuàng)建并添加文本節(jié)點:
var $p = $('<p>Hello World.</p>');
三、復(fù)制節(jié)點
3.1 原生JS復(fù)制節(jié)點:
var newEl = pEl.cloneNode(true); `
true和false的區(qū)別:
- true :克隆整個'<p>Hello World.</p>'節(jié)點
- false:只克隆'<p></p>' ,不克隆文本Hello World.'
3.2 jQuery復(fù)制節(jié)點
$newEl = $('#pEl').clone(true);
注意:克隆節(jié)點要避免`ID重復(fù)
四、 插入節(jié)點
4.1 原生JS向子節(jié)點列表的末尾添加新的子節(jié)點
El.appendChild(newNode);
原生JS在節(jié)點的已有子節(jié)點之前插入一個新的子節(jié)點:
El.insertBefore(newNode, targetNode);
4.2 在jQuery中,插入節(jié)點的方法比原生JS多的多
在匹配元素子節(jié)點列表結(jié)尾添加內(nèi)容
$('#El').append('<p>Hello World.</p>');
把匹配元素添加到目標元素子節(jié)點列表結(jié)尾
$('<p>Hello World.</p>').appendTo('#El');
在匹配元素子節(jié)點列表開頭添加內(nèi)容
$('#El').prepend('<p>Hello World.</p>');
把匹配元素添加到目標元素子節(jié)點列表開頭
$('<p>Hello World.</p>').prependTo('#El');
在匹配元素之前添加目標內(nèi)容
$('#El').before('<p>Hello World.</p>');
把匹配元素添加到目標元素之前
$('<p>Hello World.</p>').insertBefore('#El');
在匹配元素之后添加目標內(nèi)容
$('#El').after('<p>Hello World.</p>');
把匹配元素添加到目標元素之后
$('<p>Hello World.</p>').insertAfter('#El');
五、刪除節(jié)點
5.1 原生JS刪除節(jié)點
El.parentNode.removeChild(El);
5.2 jQuery刪除節(jié)點
$('#El').remove();
六、替換節(jié)點
6.1 原生JS替換節(jié)點
El.repalceChild(newNode, oldNode);
注意:oldNode必須是parentEl真實存在的一個子節(jié)點
6.2 jQuery替換節(jié)點
$('p').replaceWith('<p>Hello World.</p>');
七、設(shè)置屬性/獲取屬性
7.1 原生JS設(shè)置屬性/獲取屬性
imgEl.setAttribute("title", "logo"); imgEl.getAttribute("title"); checkboxEl.checked = true; checkboxEl.checked;
7.2 jQuery設(shè)置屬性/獲取屬性:
$("#logo").attr({"title": "logo"}); $("#logo").attr("title"); $("#checkbox").prop({"checked": true}); $("#checkbox").prop("checked");
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。
相關(guān)文章
JavaScript實現(xiàn)網(wǎng)頁留言板功能
這篇文章主要為大家詳細介紹了JavaScript實現(xiàn)網(wǎng)頁留言板功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-11-11Javascript 靜態(tài)頁面實現(xiàn)隨機顯示廣告的辦法
最近在做私服發(fā)布站時,客戶要求實現(xiàn)廣告隨機排序,而且要求在html頁面實現(xiàn),也就是說必須使用javascript來完成了。2010-11-11