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>