进阶8

作者: upup_dayday | 来源:发表于2017-10-01 22:25 被阅读0次

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

    • innerHTML指的是从对象的起始位置到终止位置的全部内容,包括Html标签。
    • innerText 指的是从起始位置到终止位置的内容,但它去除Html标签。

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

    • children 属性,非标准的,它返回指定元素的子元素集合。经测试,它只返回html节点,甚至不返回文本节点。且在所有浏览器下表现惊人的一致。和childNodes 一样,在firefox下不支持()取集合元素。因此如果想获取指定元素的第一个html节点,可以使用children[0]来替代上面的getFirst函数。需注意children在IE中包含注释节点。
    • childNodes 属性,标准的,它返回指定元素的子元素集合,包括html节点,所有属性,文本。可以通过nodeType来判断是哪种类型的节点,只有当nodeType==1时才是元素节点,2是属性节点,3是文本节点。

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

    • getElementById()

    • getElementsByClassName()

    • getElementsByTagName()

    • getElementsByName()

    • querySelector()

    • querySelectorAll()

    • ES5选择元素的方法是querySelector()和querySelectorAll()

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

    var node = document.createElement('img');
    node.setAttribute('src', 'http://ssss');
    node.removeAttribute('src');
    

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

    添加子元素

    • appendChild()
    • insertBefore()
    • replaceChild()
      删除子元素
    • removeChild()

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

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

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

    相关文章

      网友评论

          本文标题:进阶8

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