DOM的標準規範中提供了Element對象,該對象提供了HTML頁面中全部元素所具備的屬性和方法。
全部的HTML元素都是HTNLElement對象,而這個對象繼承於Element對象。html
<body> <div id="ms">櫻花櫻花想見你</div> <script> var ms = document.getElementById('ms'); console.log(ms instanceof HTMLDivElement);//true console.log(ms instanceof Node);//true console.log(ms instanceof Element);//true //Element對象是繼承於Node對象的 console.log(Element.prototype instanceof Node);//true // HTMLButtonElement是繼承於HTMLElement console.log(HTMLDivElement.prototype instanceof HTMLElement);// true // HTMLElement是繼承於Element console.log(HTMLElement.prototype instanceof Element);//true </script> </body>
Element對象提供了屬性和方法定位頁面元素
Document對象定位的是HTML頁面中全部指定元素
Element對象定位的是置頂元素內全部指定元素prototype
<body> <ul id="ms"> <li>櫻花櫻花想見你</li> <li>提燈照河山</li> </ul> <ul id="novel"> <li>化物語</li> <li>僞物語</li> </ul> <script> //document對象定位HTML頁面元素 var ms = document.getElementsByTagName('li'); console.log(ms); //Element對象定位標籤內元素 var novel = document.getElementById('novel'); var li = novel.getElementsByTagName('li'); console.log(li); </script> </body>
<body> <ul id="ms"> <li>櫻花櫻花想見你</li> <li>明月天涯</li> <li>燃盡人間色</li> </ul> <script> var ms = document.getElementById('ms'); //獲取全部子元素 - 沒有兼容問題 var children = ms.children; console.log(children); //如下屬性有兼容問題 var childElementCount = ms.childElementCount; console.log(childElementCount); var firEC = ms.firstElementChild; console.log(firEC); var lasEC = ms.lastElementChild; console.log(lasEC); </script> </body>
經過Element對象的如下屬性能夠獲取相鄰兄弟元素code
<body> <ul id="ms"> <li>櫻花櫻花想見你</li> <li id="bm">明月天涯</li> <li>燃盡人間色</li> </ul> <script> var ms = document.getElementById('bm'); //獲取前面一個兄弟元素 var pes = ms.previousElementSibling; console.log(pes); var nes = ms.nextElementSibling; console.log(nes); </script> </body>
<body> <ul id="ms"> <li>櫻花櫻花想見你</li> <li id="bm" class="bmo">明月天涯</li> <li>燃盡人間色</li> </ul> <script> var bm = document.getElementById('bm'); //獲取指定元素的屬性值 var gab = bm.getAttribute('class'); console.log(gab); //設置屬性 bm.setAttribute('name','bmoo'); //刪除屬性 bm.removeAttribute('name'); //判斷屬性是否存在 console.log(ms.hasAttribute('name')); </script> </body>
innerHTML屬性表示HTML頁面指定元素後代的HTML代碼htm
<body> <ul id="ms"> <li>櫻花櫻花想見你</li> <li id="bm">明月天涯</li> <li>燃盡人間色</li> </ul> <script> var ms = document.getElementById('ms'); //獲取指定元素的HTML代碼 var html = ms.innerHTML; console.log(html); html +='<li>我有一座四色城</li>'; ms.innerHTML=html </script> </body>