DOM

  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元素?



  • list1

  • list2

  • list3




var a=document.getElementsByTagName('li');
var b=document.getElementsByClassName('btn')
或是var b=document.querySelector('.btn' );

你可能感兴趣的:(DOM)