html dom節(jié)點(diǎn)操作(獲取/修改/添加或刪除)
更新時(shí)間:2014年01月23日 15:06:50 作者:
DOM 是關(guān)于如何獲取、修改、添加或刪除 HTML 元素的標(biāo)準(zhǔn),下面為大家介紹下html dom節(jié)點(diǎn)操作,感興趣的朋友可以參考下
HTML DOM 是關(guān)于如何獲取、修改、添加或刪除 HTML 元素的標(biāo)準(zhǔn)。在 HTML DOM 中,所有事物都是節(jié)點(diǎn)。DOM 是被視為節(jié)點(diǎn)樹的 HTML。
根據(jù) W3C 的 HTML DOM 標(biāo)準(zhǔn),HTML 文檔中的所有內(nèi)容都是節(jié)點(diǎn):
整個(gè)文檔是一個(gè)文檔節(jié)點(diǎn)
每個(gè) HTML 元素是元素節(jié)點(diǎn)
HTML 元素內(nèi)的文本是文本節(jié)點(diǎn)
每個(gè) HTML 屬性是屬性節(jié)點(diǎn)
注釋是注釋節(jié)點(diǎn)
HTML DOM 將 HTML 文檔視作樹結(jié)構(gòu)。這種結(jié)構(gòu)被稱為節(jié)點(diǎn)樹:
HTML DOM Tree 實(shí)例
http://www.w3school.com.cn/i/ct_htmltree.gif
通過 HTML DOM,樹中的所有節(jié)點(diǎn)均可通過 JavaScript 進(jìn)行訪問。所有 HTML 元素(節(jié)點(diǎn))均可被修改,也可以創(chuàng)建或刪除節(jié)點(diǎn)。
所有 HTML 元素被定義為對(duì)象,而編程接口則是對(duì)象方法和對(duì)象屬性。
一:獲取元素節(jié)點(diǎn)方法:
1.var node = document.getElementById("nodeId");
2.var nodelist = document.getElementsByClassName("nodeclassname");
3.var nodelist = document.getElementsByTagName("nodetagname");
二:獲取到元素節(jié)點(diǎn)以后我們可以對(duì)他進(jìn)行的操作:1.對(duì)自身的操作。2.對(duì)子節(jié)點(diǎn)的操作。3.對(duì)兄弟節(jié)點(diǎn)的操作。4.對(duì)父節(jié)點(diǎn)的操作
2.1. 刪除自身:node.parentNode.removeChild(node);
2.2.判斷是否有子節(jié)點(diǎn):var boolean = node.hasChildNodes();
獲取子節(jié)點(diǎn)列表:var childList = node.childNodes;
獲取節(jié)點(diǎn)元素類型:var nodetype = node.nodeType; var nodename = node.nodeName;
刪除子節(jié)點(diǎn)。node.removeChild(childNode);
在子節(jié)點(diǎn)尾部插入一個(gè)子節(jié)點(diǎn):node.appendChild(childNode);
在子節(jié)點(diǎn)收不插入一個(gè)子節(jié)點(diǎn):node.insertBefore(childNode);
用A節(jié)點(diǎn)替換B節(jié)點(diǎn):node.replaceChild(A,B);
2.3.node.nextSibling獲取相鄰的下一個(gè)兄弟節(jié)點(diǎn)
node.previousSibling獲取相鄰的上一個(gè)兄弟節(jié)點(diǎn)
2.4 . 獲取父節(jié)點(diǎn)node.parentNode
根據(jù) W3C 的 HTML DOM 標(biāo)準(zhǔn),HTML 文檔中的所有內(nèi)容都是節(jié)點(diǎn):
整個(gè)文檔是一個(gè)文檔節(jié)點(diǎn)
每個(gè) HTML 元素是元素節(jié)點(diǎn)
HTML 元素內(nèi)的文本是文本節(jié)點(diǎn)
每個(gè) HTML 屬性是屬性節(jié)點(diǎn)
注釋是注釋節(jié)點(diǎn)
HTML DOM 將 HTML 文檔視作樹結(jié)構(gòu)。這種結(jié)構(gòu)被稱為節(jié)點(diǎn)樹:
HTML DOM Tree 實(shí)例
http://www.w3school.com.cn/i/ct_htmltree.gif
通過 HTML DOM,樹中的所有節(jié)點(diǎn)均可通過 JavaScript 進(jìn)行訪問。所有 HTML 元素(節(jié)點(diǎn))均可被修改,也可以創(chuàng)建或刪除節(jié)點(diǎn)。
所有 HTML 元素被定義為對(duì)象,而編程接口則是對(duì)象方法和對(duì)象屬性。
一:獲取元素節(jié)點(diǎn)方法:
1.var node = document.getElementById("nodeId");
2.var nodelist = document.getElementsByClassName("nodeclassname");
3.var nodelist = document.getElementsByTagName("nodetagname");
二:獲取到元素節(jié)點(diǎn)以后我們可以對(duì)他進(jìn)行的操作:1.對(duì)自身的操作。2.對(duì)子節(jié)點(diǎn)的操作。3.對(duì)兄弟節(jié)點(diǎn)的操作。4.對(duì)父節(jié)點(diǎn)的操作
2.1. 刪除自身:node.parentNode.removeChild(node);
2.2.判斷是否有子節(jié)點(diǎn):var boolean = node.hasChildNodes();
獲取子節(jié)點(diǎn)列表:var childList = node.childNodes;
獲取節(jié)點(diǎn)元素類型:var nodetype = node.nodeType; var nodename = node.nodeName;
刪除子節(jié)點(diǎn)。node.removeChild(childNode);
在子節(jié)點(diǎn)尾部插入一個(gè)子節(jié)點(diǎn):node.appendChild(childNode);
在子節(jié)點(diǎn)收不插入一個(gè)子節(jié)點(diǎn):node.insertBefore(childNode);
用A節(jié)點(diǎn)替換B節(jié)點(diǎn):node.replaceChild(A,B);
2.3.node.nextSibling獲取相鄰的下一個(gè)兄弟節(jié)點(diǎn)
node.previousSibling獲取相鄰的上一個(gè)兄弟節(jié)點(diǎn)
2.4 . 獲取父節(jié)點(diǎn)node.parentNode
您可能感興趣的文章:
- javascript 獲取HTML DOM父、子、臨近節(jié)點(diǎn)
- Js 獲取HTML DOM節(jié)點(diǎn)元素的方法小結(jié)
- 獲取HTML DOM節(jié)點(diǎn)元素的方法的總結(jié)
- 用于節(jié)點(diǎn)操作的API,顛覆原生操作HTML DOM節(jié)點(diǎn)的API
- JavaScript操作HTML DOM節(jié)點(diǎn)的基礎(chǔ)教程
- JavaScript DOM節(jié)點(diǎn)操作實(shí)例小結(jié)(新建,刪除HTML元素)
- [js高手之路]HTML標(biāo)簽解釋成DOM節(jié)點(diǎn)的實(shí)現(xiàn)方法
- 如何將HTML字符轉(zhuǎn)換為DOM節(jié)點(diǎn)并動(dòng)態(tài)添加到文檔中詳解
相關(guān)文章
JS highcharts實(shí)現(xiàn)動(dòng)態(tài)曲線代碼示例
這篇文章主要介紹了JS highcharts實(shí)現(xiàn)動(dòng)態(tài)曲線代碼示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-10-10JS多個(gè)異步請(qǐng)求 按順序執(zhí)行next實(shí)現(xiàn)解析
這篇文章主要介紹了js多個(gè)異步請(qǐng)求 按順序執(zhí)行next實(shí)現(xiàn)解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09JavaScript常見繼承模式實(shí)例小結(jié)
這篇文章主要介紹了JavaScript常見繼承模式,結(jié)合實(shí)例形式總結(jié)分析了javascript原型鏈繼承、構(gòu)造函數(shù)繼承、組合繼承、原型式繼承、寄生式繼承等相關(guān)實(shí)現(xiàn)技巧與操作注意事項(xiàng),需要的朋友可以參考下2019-01-01JavaScript數(shù)字?jǐn)?shù)組的13個(gè)實(shí)用小技巧
數(shù)組是JS最常見的一種數(shù)據(jù)結(jié)構(gòu),咱們?cè)陂_發(fā)中也經(jīng)常用到,在這篇文章中,提供一些小技巧,幫助咱們提高開發(fā)效率,這篇文章主要給大家分享介紹了關(guān)于JavaScript數(shù)字?jǐn)?shù)組的13個(gè)實(shí)用小技巧,需要的朋友可以參考下2023-11-11JavaScript用select實(shí)現(xiàn)日期控件
這篇文章主要介紹了JavaScript用select實(shí)現(xiàn)日期控件的相關(guān)資料,需要的朋友可以參考下2015-07-07基于Particles.js制作超炫粒子動(dòng)態(tài)背景效果(仿知乎)
本文給大家分享Particles.js基于Canvas畫布創(chuàng)建粒子顆粒效果,代碼非常簡(jiǎn)單,需要的朋友參考下吧2017-09-09javascript中l(wèi)ocalStorage本地存儲(chǔ)(新增、刪除、修改)使用詳細(xì)教程
本地存儲(chǔ)localstorage是一種在瀏覽器中存儲(chǔ)數(shù)據(jù)的方式,可以將數(shù)據(jù)保存在用戶的本地計(jì)算機(jī)上,以便在下一次訪問網(wǎng)站時(shí)使用,下面這篇文章主要給大家介紹了關(guān)于javascript中l(wèi)ocalStorage本地存儲(chǔ)(新增、刪除、修改)使用詳細(xì)教程,需要的朋友可以參考下2023-05-05