DOM操作

作者: _达斯基 | 来源:发表于2017-10-17 23:20 被阅读0次

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

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

    2elem.children和elem.childNodes的区别?

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

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

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

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

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

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

    删除

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

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

    • 添加子元素

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

    • 删除子元素

    removeChild()用于删除子元素

    6element.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

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

    <div class="mod-tabs">
       <ul>
           <li>list1</li>
           <li>list2</li>
           <li>list3</li>
       </ul>
       <button class="btn">点我</button>
    </div>
    
    <scirpt> 
    var selectorLi = document.querySelectorAll('.mod-tabs li')
    var selectorBtn = document.querySelector('.mod-tabs .btn')
    </scirpt>
    
    

    相关文章

      网友评论

          本文标题:DOM操作

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