DOM

作者: Komolei | 来源:发表于2017-03-27 17:22 被阅读0次
    1. dom对象的innerText和innerHTML有什么区别?
      innerText:会返回其节点和子节点的所有文本
      innerHTML:会返回其节点的子节点的HTML结构

    2. elem.children和elem.childNodes的区别?
      elem.children是一个只读属性,返回elem节点和其子节点的元素的集合,同时只返回html元素节点,不包括文本节点。
      elem.childNodes是一个只读属性,返回包含elem在内的所有节点集合,包括文本节点,属性节点,和html节点。可以通过nodetype来判断类型,1为html节点,2为属性节点,3为文本节点。

    3. 查询元素有几种常见的方法?ES5的元素选择方法是什么?
      document.getElementById();
      document.getElementsByClassName();
      document.getElementsByTagName();
      document.getElementsByName();
      ES5的方法:document.querySelector();document.querySelectorAll();elementFromPoint();

    4. 如何创建一个元素?如何给元素设置属性?如何删除属性
      creatElement();//创建元素或是 createDocumentFragment();//存在在内存中的Dom片段
      setAttribute();//设置属性
      setAttribute( , );//修改属性
      removeAttribute();//删除属性
      同样可以通过element.attributes进行方法的设置来完成上面的操作其没有数组的方法

    5. 如何给页面元素添加子元素?如何删除页面元素下的子元素?
      var a=document.createElement('div');
      document.body.appendChild(a);
      document.body.removeChild(a);

    6. element.classList有哪些方法?如何判断一个元素的 class 列表中是包含某个 class?如何添加一个class?如何删除一个class?
      element.classList是一个只读属性,返回一个元素类属性的DOMTokenList集合,就是一个元素的类名的集合
      element.classList属性用于返回一个元素的className集合,并且该属性拥有add,remove,toggle,contains方法
      demo:element.classList.contains(classname)//判断某个元素中是否存在某个classname
      方法:element.classList.add();//为某个节点增加特定的classname
      element.classList.remove();// 为某个节点删除classname
      element.classList.toogle();// 在某个节点上进行指定的两个或多个classname的切换
      element.classList.contains();// 判断某个节点是否存在某个classname

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

    <div class="mod-tabs">
    <ul>
    <li>list1<li>
    <li>list2<li>
    <li>list3<li>
    </ul>
    <button class="btn">点我</button>
    </div>
    var a=document.getElementsByTagName('li');
    var b=document.getElementsByClassName('btn')
    或是var b=document.querySelector('.btn' );

    相关文章

      网友评论

          本文标题:DOM

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