Javascript的各種節(jié)點(diǎn)操作實(shí)例演示代碼
更新時(shí)間:2012年06月27日 16:07:48 作者:
實(shí)例演示對(duì)javascript的節(jié)點(diǎn)的各種操作。包括hasChildNodes(),removeChild(),appendChild(),replaceChild(),insertBefore(),cloneNode()等
代碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=" http://www.w3.org/1999/xhtml">
<head>
<title="Javascript的節(jié)點(diǎn)操作"></title>
<script type="text/javascript" src="jquery-1.7.js"></script>
</head>
<body>
<input type="button" id="test" name="nn" value="EFG">
<div id = "t">bbb</div>
<div name="parent_test">
<div id = "t1"><span>aaa</span><span>bbb</span><span>ccc</span></div>
</div>
<div id = "fuzhi"><span>AAA</span><span>BBB</span><span>CCC</span></div><div id = "m"></div>
<script type="text/javascript">
//搞清楚這三種 元素節(jié)點(diǎn) 屬性節(jié)點(diǎn) 文本節(jié)點(diǎn)
// 1:元素節(jié)點(diǎn)(對(duì)于元素節(jié)點(diǎn),nodeName保存的始終是元素的標(biāo)簽名,而nodeValue的值始終是null)
var element_node=document.getElementById('test');
//alert(element_node.nodeType); // 1
//alert(element_node.nodeName); // input
//alert(element_node.nodeValue); // null
// 2:屬性節(jié)點(diǎn)
var attr_node=document.getElementById('test').getAttributeNode('name');
alert(attr_node.nodeType); // 2
alert(attr_node.nodeName); // name 屬性名
alert(attr_node.nodeValue); // nn 屬性值
// 3:文本節(jié)點(diǎn)
var all=document.getElementById('t').firstChild;
//alert(all.nodeType); // 3
//alert(all.nodeName); // #text
//alert(all.nodeValue); // bbb 文本內(nèi)容
var tt1=document.getElementById('t1');
//alert(tt1.firstChild.innerHTML); // aaa
//alert(tt1.lastChild.innerHTML); // ccc
var tt2=tt1.childNodes[1].innerHTML;
//alert(tt2);// bbb
var tt3=tt1.parentNode.getAttribute('name');
//alert(tt3); // parent_test
var tt4=tt1.childNodes[1];
//alert(tt4.nextSibling.innerHTML); // ccc
//alert(tt4.previousSibling.innerHTML); //aaa
// node方法的詳細(xì)介紹
var tt5=document.getElementById('test');
var tt6=document.getElementById('t')
// hasChildNodes()方法:判定一個(gè)節(jié)點(diǎn)是否有子節(jié)點(diǎn),有返回true,沒有返回false
//alert(tt5.hasChildNodes()); // false
//alert(tt6.hasChildNodes()); // true
//removeChild()方法:去除一個(gè)節(jié)點(diǎn)
var first_node=document.getElementById('t1').firstChild;
//document.getElementById('t1').removeChild(first_node); // 刪除第一個(gè)節(jié)點(diǎn) aaa
// appendChild()方法:添加一個(gè)節(jié)點(diǎn) 如果文檔樹中已經(jīng)存在該節(jié)點(diǎn),則將它刪除,然后在新位置插入。
var first_node=document.getElementById('t1').firstChild;
//document.getElementById('t1').appendChild(first_node); // aaa變成了最后一個(gè)節(jié)點(diǎn)
// replaceChild()方法:從文檔樹中刪除(并返回)指定的子節(jié)點(diǎn),用另一個(gè)節(jié)點(diǎn)來替換它
//insertBefore()方法:在指定節(jié)點(diǎn)的前面插入一個(gè)節(jié)點(diǎn),如果已經(jīng)存在,則刪除原來的,然后在新位置插入。
var newd=document.createElement("span");
newd.innerHTML="eee";
//document.getElementById('t1').appendChild(newd); // 加載一個(gè)子節(jié)點(diǎn)
var oldd=document.getElementById('t1').lastChild;
//document.getElementById('t1').replaceChild(newd,oldd); // 替換最后一個(gè)子節(jié)點(diǎn)
//document.getElementById('t1').insertBefore(newd,oldd); // 在指定位置前面插入一個(gè)節(jié)點(diǎn) aaabbbeeeccc
// cloneNode()方法:復(fù)制一個(gè)節(jié)點(diǎn),該方法有一個(gè)參數(shù),true表示同時(shí)復(fù)制所有的子節(jié)點(diǎn),false表示近復(fù)制當(dāng)前節(jié)點(diǎn)。
var what=document.getElementById('fuzhi').cloneNode(true).innerHTML;
document.getElementById('m').innerHTML=what;
</script>
</body>
</html>
復(fù)制代碼 代碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=" http://www.w3.org/1999/xhtml">
<head>
<title="Javascript的節(jié)點(diǎn)操作"></title>
<script type="text/javascript" src="jquery-1.7.js"></script>
</head>
<body>
<input type="button" id="test" name="nn" value="EFG">
<div id = "t">bbb</div>
<div name="parent_test">
<div id = "t1"><span>aaa</span><span>bbb</span><span>ccc</span></div>
</div>
<div id = "fuzhi"><span>AAA</span><span>BBB</span><span>CCC</span></div><div id = "m"></div>
<script type="text/javascript">
//搞清楚這三種 元素節(jié)點(diǎn) 屬性節(jié)點(diǎn) 文本節(jié)點(diǎn)
// 1:元素節(jié)點(diǎn)(對(duì)于元素節(jié)點(diǎn),nodeName保存的始終是元素的標(biāo)簽名,而nodeValue的值始終是null)
var element_node=document.getElementById('test');
//alert(element_node.nodeType); // 1
//alert(element_node.nodeName); // input
//alert(element_node.nodeValue); // null
// 2:屬性節(jié)點(diǎn)
var attr_node=document.getElementById('test').getAttributeNode('name');
alert(attr_node.nodeType); // 2
alert(attr_node.nodeName); // name 屬性名
alert(attr_node.nodeValue); // nn 屬性值
// 3:文本節(jié)點(diǎn)
var all=document.getElementById('t').firstChild;
//alert(all.nodeType); // 3
//alert(all.nodeName); // #text
//alert(all.nodeValue); // bbb 文本內(nèi)容
var tt1=document.getElementById('t1');
//alert(tt1.firstChild.innerHTML); // aaa
//alert(tt1.lastChild.innerHTML); // ccc
var tt2=tt1.childNodes[1].innerHTML;
//alert(tt2);// bbb
var tt3=tt1.parentNode.getAttribute('name');
//alert(tt3); // parent_test
var tt4=tt1.childNodes[1];
//alert(tt4.nextSibling.innerHTML); // ccc
//alert(tt4.previousSibling.innerHTML); //aaa
// node方法的詳細(xì)介紹
var tt5=document.getElementById('test');
var tt6=document.getElementById('t')
// hasChildNodes()方法:判定一個(gè)節(jié)點(diǎn)是否有子節(jié)點(diǎn),有返回true,沒有返回false
//alert(tt5.hasChildNodes()); // false
//alert(tt6.hasChildNodes()); // true
//removeChild()方法:去除一個(gè)節(jié)點(diǎn)
var first_node=document.getElementById('t1').firstChild;
//document.getElementById('t1').removeChild(first_node); // 刪除第一個(gè)節(jié)點(diǎn) aaa
// appendChild()方法:添加一個(gè)節(jié)點(diǎn) 如果文檔樹中已經(jīng)存在該節(jié)點(diǎn),則將它刪除,然后在新位置插入。
var first_node=document.getElementById('t1').firstChild;
//document.getElementById('t1').appendChild(first_node); // aaa變成了最后一個(gè)節(jié)點(diǎn)
// replaceChild()方法:從文檔樹中刪除(并返回)指定的子節(jié)點(diǎn),用另一個(gè)節(jié)點(diǎn)來替換它
//insertBefore()方法:在指定節(jié)點(diǎn)的前面插入一個(gè)節(jié)點(diǎn),如果已經(jīng)存在,則刪除原來的,然后在新位置插入。
var newd=document.createElement("span");
newd.innerHTML="eee";
//document.getElementById('t1').appendChild(newd); // 加載一個(gè)子節(jié)點(diǎn)
var oldd=document.getElementById('t1').lastChild;
//document.getElementById('t1').replaceChild(newd,oldd); // 替換最后一個(gè)子節(jié)點(diǎn)
//document.getElementById('t1').insertBefore(newd,oldd); // 在指定位置前面插入一個(gè)節(jié)點(diǎn) aaabbbeeeccc
// cloneNode()方法:復(fù)制一個(gè)節(jié)點(diǎn),該方法有一個(gè)參數(shù),true表示同時(shí)復(fù)制所有的子節(jié)點(diǎn),false表示近復(fù)制當(dāng)前節(jié)點(diǎn)。
var what=document.getElementById('fuzhi').cloneNode(true).innerHTML;
document.getElementById('m').innerHTML=what;
</script>
</body>
</html>
您可能感興趣的文章:
- JavaScript DOM節(jié)點(diǎn)操作方法總結(jié)
- JavaScript 節(jié)點(diǎn)操作 以及DOMDocument屬性和方法
- js操作DOM--添加、刪除節(jié)點(diǎn)的簡單實(shí)例
- JavaScript操作HTML DOM節(jié)點(diǎn)的基礎(chǔ)教程
- JavaScript節(jié)點(diǎn)及列表操作實(shí)例小結(jié)
- Js操作樹節(jié)點(diǎn)自動(dòng)折疊展開的幾種方法
- 使用js完成節(jié)點(diǎn)的增刪改復(fù)制等的操作
- js和jquery對(duì)dom節(jié)點(diǎn)的操作(創(chuàng)建/追加)
- javascript學(xué)習(xí)筆記(十九) 節(jié)點(diǎn)的操作實(shí)現(xiàn)代碼
- javascript dom操作之cloneNode文本節(jié)點(diǎn)克隆使用技巧
- JavaScript原生節(jié)點(diǎn)操作小結(jié)
相關(guān)文章
微信小程序?qū)崿F(xiàn)導(dǎo)航欄和內(nèi)容上下聯(lián)動(dòng)功能代碼
這篇文章主要介紹了微信小程序?qū)崿F(xiàn)導(dǎo)航欄和內(nèi)容上下聯(lián)動(dòng)功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-06-06
JavaScript 總結(jié)幾個(gè)提高性能知識(shí)點(diǎn)(推薦)
下面小編就為大家?guī)硪黄狫avaScript 總結(jié)幾個(gè)提高性能知識(shí)點(diǎn)(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-02-02
交叉觀察器?IntersectionObserver用法詳解
這篇文章主要為大家介紹了交叉觀察器?IntersectionObserver用法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10
js實(shí)現(xiàn)綠白相間豎向網(wǎng)頁百葉窗動(dòng)畫切換效果
這篇文章主要介紹了js實(shí)現(xiàn)綠白相間豎向網(wǎng)頁百葉窗動(dòng)畫切換效果,實(shí)例分析了javascript實(shí)現(xiàn)百葉窗動(dòng)畫效果的技巧,需要的朋友可以參考下2015-03-03
微信小程序bindtap與catchtap的區(qū)別詳解
本文主要介紹了微信小程序bindtap與catchtap的區(qū)別詳解,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09
iframe的onload在Chrome/Opera中執(zhí)行兩次Bug的解決方法
創(chuàng)建iframe對(duì)象,添加load事件, 再將iframe添加到body中。Chrome/Opera中會(huì)造成load事件的handler執(zhí)行兩次。2011-03-03
javascript應(yīng)用:Iframe自適應(yīng)其加載的內(nèi)容高度
javascript應(yīng)用:Iframe自適應(yīng)其加載的內(nèi)容高度...2007-04-04

