进阶8

作者: 饥人谷_严琰 | 来源:发表于2017-10-13 21:25 被阅读0次

    dom对象的innerText和innerHTML有什么区别?

    innerText对应的是文本节点,innerHTML对应的就直接是相应的html语句。也就是说,你向innerText里面的插入的任何文字都会被解析为普通文字展示,而你向innerHTML里面插入的任何内容都会被当做html语句解析运行。

    elem.children和elem.childNodes的区别?

    children是子元素列表(HTMLCollection),只包含子HTML节点
    childNodes是子元素列表(NodeList),包含HTML节点,文本节点,属性节点

    image.png

    查询元素有几种常见的方法?ES5的元素选择方法是什么?

    • document.getElementById(‘id’);
    • document.getElementsByTagName(‘tagName’);
    • document.getElementsByClassName(‘className’);
    • ES5方法
      • querySelector()返回匹配指定的CSS选择器的元素节点。如果有多个节点满足匹配条件,则返回第一个匹配的节点。如果没有发现匹配的节点,则返回null。无法选中CSS伪元素。
      • querySelectorAll()返回匹配指定的CSS选择器的所有节点,返回的是NodeList类型的对象。NodeList对象不是动态集合,所以元素节点的变化无法实时反映在返回结果中。参数可以是逗号分隔的多个CSS选择器,返回所有匹配其中一个选择器的元素

    如何创建一个元素?如何给元素设置属性?如何删除属性

    创建元素

    • createElement方法用来生成HTML元素节点。
    • createTextNode方法用来生成文本节点,参数为所要生成的文本节点的内容。
    • createDocumentFragment方法生成一个DocumentFragment对象。

    设置属性

    • setAttribute()方法用于设置元素属性

    删除元素

    • emoveAttribute()用于删除元素属性

    如何给页面元素添加子元素?如何删除页面元素下的子元素?

    添加子元素

    • appendChild在元素末尾添加元素
    • insertBefore在某个元素之前插入元素

    删除子元素

    • removeChild()用于删除子元素

    element.classList有哪些方法?如何判断一个元素的 class 列表中是包含某个 class?如何添加一个class?如何删除一个class?

    var nodeBox = document.querySelector('.box')
    console.log( nodeBox.classList )
    nodeBox.classList.add('active')   //新增 class
    nodeBox.classList.remove('active')  //删除 class
    nodeBox.classList.toggle('active')   //新增/删除切换
    node.classList.contains('active')   // 判断是否拥有 class
    

    如何选中如下代码所有的li元素? 如何选中btn元素?

    <div class="mod-tabs">
       <ul>
           <li>list1</li>
           <li>list2</li>
           <li>list3</li>
       </ul>
       <button class="btn">点我</button>
    </div>
    <script>
        var aLi = document.querySelectorAll(".mod-tabs li")  
        var oBtn=document.querySelector(".btn")
    </script>
    

    相关文章

      网友评论

          本文标题:进阶8

          本文链接:https://www.haomeiwen.com/subject/kxjtuxtx.html