Element对象的基础了解

Element对象是什么

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

  • getElementByTagName():经过页面元素的元素名称定位元素
  • getElementTbClassName():经过页面元素的class属性值定位元素
  • querySelector():经过CSS选择器定位第一个匹配的元素
  • querySelectorAll():经过CSS选择器定位全部匹配的元素
<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>

获取子元素

  • children:获取指定节点全部的子元素
  • childElementCount:获取置顶元素全部子元素的个数
  • firseElementChild:获取指定节点第一个子元素
  • lastElementChlid:获取指定节点最后一个子元素
<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

  • previousElementSibling:获取指定元素前面的相邻兄弟元素
  • nextElementSibling:获取指定元素后面的相邻兄弟元素
<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>

Element对象属性操做

  • getAttribute():获取指定元素的属性值
  • setAttribute():设置指定元素的属性值
  • removeAttribute():删除指定元素的属性
  • hasAttribute():判断是否含有指定属性
<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属性

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>
相关文章
相关标签/搜索