document.createElement()
用來生成網頁元素節點,參數為元素的標簽名document.createTextNode()
用來生成文本節點,參數為所要生成的文本節點的內容node.appendChild()
接受一個節點對象作為參數,將其作為最后一個子節點,插入當前節點node.hasChildNodes()
返回一個布爾值,表示當前節點是否有子節點node.removeChild()
接受一個子節點作為參數,用于從當前節點移除該子節點node.cloneNode()
用于克隆一個選中的節點。它接受一個布爾值作為參數,表示是否同時克隆子節點,默認是false,即不克隆子節點。注意: 不會克隆綁定到該元素上的事件node.innerHTML
返回該元素包含的 HTML 代碼。該屬性可讀寫,常用來設置某個節點的內容;(不屬于W3C DOM規范)node.innerText
返回該元素包含的內容。該屬性可讀寫node.nextElementSibling
返回緊跟在當前節點后面的第一個同級Element節點,如果當前節點后面沒有同級節點,則返回nullnode.previousElementSibling
返回緊跟在當前節點前面的第一個同級Element節點,如果當前節點前面沒有同級節點,則返回nullnode.parentElement
返回當前節點的父級Element節點node.childNodes
返回一個NodeList集合,成員包括當前節點的所有子節點(注意空格回車也算)node.firstChild
返回樹中節點的第一個子節點,如果節點是無子節點,則返回nullnode.lastChild
返回該節點的最后一個子節點,如果該節點沒有子節點則返回null
- <!-- 節點操作 -->
- <body>
- <div id="div" style="border:1px solid red;">
- div內容
- <span>span內容</span>
- </div>
- </body>
- <script>
- //創建元素、標簽節點
- var p = document.createElement('p');
- //創建文本節點
- var pText = document.createTextNode('P標簽內內容');
- //為元素添加子元素
- 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()
返回當前元素節點的指定屬性。如果指定屬性不存在,則返回nullnode.setAttribute()
為當前元素節點新增屬性。如果同名屬性已存在node.hasAttribute()
返回一個布爾值,表示當前元素節點是否包含指定屬性node.removeAttribute()
從當前元素節點移除屬性
- <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樣式屬性節點對象.style.樣式屬性
方式只能獲取行內css樣式,而寫在 style 標簽內的樣式表,無法獲取和修改。getComputedStyle()
接受一個節點對象,返回該節點對象最終樣式信息的對象,所謂“最終樣式信息”,指的是各種CSS規則疊加后的結果
注意: getComputedStyle() 是window對象下的方法,不是DOM對象
在具體使用的時候還有一些需要重點注意的細節:
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>