本文實例講述了JavaScript中Dom操作。分享給大家供大家參考,具體如下:
博主將按照增刪改查的方式來介紹一下Dom的主要操作。
1、增加節點
添加節點的操作主要分為3步:
(1)創建要添加的新節點
(2)找到要添加到的父節點
(3)父節點添加新節點
參考代碼
<!DOCTYPE html><html><head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title></title> <link rel="stylesheet" href=""> <script> function add(){ //新建要增加的節點 var li = document.createElement('li'); var txt = document.createTextNode('北'); li.appendChild(txt); //找到要添加到的父節點 var ul = document.getElementsByTagName('ul')[0]; //添加到父節點 ul.appendChild(li); } </script></head><body> <input type="button" value="增加一個節點" onclick="add();"> <ul> <li>東</li> <li>南</li> <li>西</li> </ul></body></html>
2、刪除節點
刪除節點的操作主要分為3步:
(1)先找到要刪除的節點
(2)找到其父節點
(3)調用父節點的removeChild(刪除的節點)操作
參考代碼
<!DOCTYPE html><html><head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title></title> <link rel="stylesheet" href=""> <script> function del(){ //找到要刪除的節點 var lis = document.getElementsByTagName('li'); var lastli = lis[lis.length - 1]; //讓父節點來進行刪除操作 lastli.parentNode.removeChild(lastli); } </script></head><body> <input type="button" value="刪除最后一個節點" onclick="del();"> <ul> <li>東</li> <li>南</li> <li>西</li> <li>北</li> </ul></body></html>
3、修改節點
修改操作主要是修改節點的屬性,如修改img節點的src屬性
但是有幾點需要注意:
(1)如果需要操作dom對象的class屬性,應該使用className屬性
document.getElementsByTagName('div')[0].className = 'test2';
(2)如果需要修改dom對象的樣式,應該使用 obj.style.css樣式名
document.getElementsByTagName('div')[0].style.width = parseInt(div.style.width) + 5 + 'px';
(3)遇到有這樣帶-的樣式,如:border-bottom-width,應這樣修改樣式,將-去掉,然后將-后的首字母改為大寫
div.style.borderBottomWidth = parseInt(div.style.borderBottomWidth) + 5 + 'px';
4、查找節點
(1)根據id進行查找,返回對象:
document.getElementById('test1');
(2)根據標簽名進行查找,返回對象集合:
document.getElementsByTagName('p');
(3)對于表單元素,按照name值進行查找,返回對象集合:
document.getElementsByName('username');
(4)根據class名進行查找,返回對象集合:
document.getElementsByClassName('test2');
(5)查找對象的子節點,childNodes屬性包括文本節點(換行),返回對象集合
alert(document.getElementById('test1').childNodes.length);//打印包括文本節點的數量alert(document.getElementById('test1').children.length);//children屬性雖然不符合w3c規范,但是瀏覽器支持良好
(6)查找對象的父節點,使用parentNode,返回單個對象
document.getElementsByTagName('p')[0].parentNode.style.border = '1px solid black';
希望本文所述對大家JavaScript程序設計有所幫助。
新聞熱點
疑難解答