document.createElement()
用來生成網(wǎng)頁元素節(jié)點,參數(shù)為元素的標簽名document.createTextNode()
用來生成文本節(jié)點,參數(shù)為所要生成的文本節(jié)點的內(nèi)容node.appendChild()
接受一個節(jié)點對象作為參數(shù),將其作為最后一個子節(jié)點,插入當前節(jié)點node.hasChildNodes()
返回一個布爾值,表示當前節(jié)點是否有子節(jié)點node.removeChild()
接受一個子節(jié)點作為參數(shù),用于從當前節(jié)點移除該子節(jié)點node.cloneNode()
用于克隆一個選中的節(jié)點。它接受一個布爾值作為參數(shù),表示是否同時克隆子節(jié)點,默認是false,即不克隆子節(jié)點。注意: 不會克隆綁定到該元素上的事件node.innerHTML
返回該元素包含的 HTML 代碼。該屬性可讀寫,常用來設置某個節(jié)點的內(nèi)容;(不屬于W3C DOM規(guī)范)node.innerText
返回該元素包含的內(nèi)容。該屬性可讀寫node.nextElementSibling
返回緊跟在當前節(jié)點后面的第一個同級Element節(jié)點,如果當前節(jié)點后面沒有同級節(jié)點,則返回nullnode.previousElementSibling
返回緊跟在當前節(jié)點前面的第一個同級Element節(jié)點,如果當前節(jié)點前面沒有同級節(jié)點,則返回nullnode.parentElement
返回當前節(jié)點的父級Element節(jié)點node.childNodes
返回一個NodeList集合,成員包括當前節(jié)點的所有子節(jié)點(注意空格回車也算)node.firstChild
返回樹中節(jié)點的第一個子節(jié)點,如果節(jié)點是無子節(jié)點,則返回nullnode.lastChild
返回該節(jié)點的最后一個子節(jié)點,如果該節(jié)點沒有子節(jié)點則返回null
- <!-- 節(jié)點操作 -->
- <body>
- <div id="div" style="border:1px solid red;">
- div內(nèi)容
- <span>span內(nèi)容</span>
- </div>
- </body>
- <script>
- //創(chuàng)建元素、標簽節(jié)點
- var p = document.createElement('p');
- //創(chuàng)建文本節(jié)點
- var pText = document.createTextNode('P標簽內(nèi)內(nèi)容');
- //為元素添加子元素
- p.appendChild(pText);
- document.getElementById('div').appendChild(p);
- </script>
- <body>
- <div id="div" zdy="zdy">
- </div>
- </body>
- <script>
- var div = document.querySelector('#div');
- //獲取原有標準屬性的值
- console.log(div.id);
- //獲取自定義屬性的值
- console.log(div.zhy); //undefined
- </script>
屬性操作的標準方法:node.getAttribute()
返回當前元素節(jié)點的指定屬性。如果指定屬性不存在,則返回nullnode.setAttribute()
為當前元素節(jié)點新增屬性。如果同名屬性已存在node.hasAttribute()
返回一個布爾值,表示當前元素節(jié)點是否包含指定屬性node.removeAttribute()
從當前元素節(jié)點移除屬性
- <body>
- <div id="div">
- </div>
- </body>
- <script>
- var div = document.querySelector('#div');
- //設置屬性,有則修改,無則添加,可設置非標準屬性
- div.setAttribute('id','d');
- div.setAttribute('zdy','zdy');
- //獲取屬性值,可獲取非標準屬性
- console.log(div.getAttribute('id')); //d
- console.log(div.getAttribute('zdy')); //zdy
- </script>
三、css樣式屬性節(jié)點對象.style.樣式屬性
方式只能獲取行內(nèi)css樣式,而寫在 style 標簽內(nèi)的樣式表,無法獲取和修改。getComputedStyle()
接受一個節(jié)點對象,返回該節(jié)點對象最終樣式信息的對象,所謂“最終樣式信息”,指的是各種CSS規(guī)則疊加后的結(jié)果
注意: getComputedStyle() 是window對象下的方法,不是DOM對象
在具體使用的時候還有一些需要重點注意的細節(jié):
1、名字需要改寫,將橫杠從CSS屬性名中去除,然后將橫杠后的第一個字母大寫:
比如background-color寫成backgroundColor
2、屬性值都是字符串,設置時必須包括單位:
比如,divStyle.width的值不能寫為100,而要寫為100px
- <style>
- #div{
- width: 200px; height: 200px; border: 1px solid red;
- }
- </style>
- <body>
- <div id="div"></div>
- </body>
- <script>
- document.getElementById('div').onclick = function(){
- this.style.width = parseInt(getComputedStyle(div).width)+10+"px";
- this.style.height = parseInt(getComputedStyle(div).height)+10+"px";
- }
- </script>