DOM

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

  • innerText是一个可写属性,返回元素内包含的文本内容,在多层次的时候会按照元素由浅到深的顺序拼接其内容
  • innerHTML属性作用和innerText类似,但是不是返回元素的文本内容,而是返回元素的HTML结构,在写入的时候也会自动构建DOM

题目2: elem.children和elem.childNodes的区别?

elem.children只包含HTML元素节点,elem.childNodes不仅包含HTML元素节点,还包含文本节点。

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

getElementById()
getElementsByClassName()
getElementsByTagName()
getElementsByName()
querySelector()
querySelectorAll()
ES5的元素选择:

querySelector()
querySelectorAll()

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

创建:
1,createElement方法用来生成HTML元素节点。
2,createTextNode方法用来生成文本节点,参数为所要生成的文本节点的内容。

var newDiv = document.createElement("div");
var newContent = document.createTextNode("Hello");
设置:

setAttribute()方法用于设置元素属性
var node = document.getElementById("div1");
node.setAttribute("my_attrib", "newVal");
删除:
removeAttribute()用于删除元素属性

node.removeAttribute('id');

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

var ele = document.createElement(elem)
    document.body.appendChild(ele)
    document.body.removeChild(ele)

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

  • add( String [, String] )
    添加指定的类值。如果这些类已经存在于元素的属性中,那么它们将被忽略。
  • remove( String [,String] )
    删除指定的类值。
  • item ( Number )
    按集合中的索引返回类值。
  • toggle ( String [, force] )
    1、当只有一个参数时:切换 class value; 即如果类存在,则删除它并返回false,如果不存在,则添加它并返回true。
    2、当存在第二个参数时:如果第二个参数的计算结果为true,则添加指定的类值,如果计算结果为false,则删除它
    contains( String )
    检查元素的类属性中是否存在指定的类值。
    contains( String )判断一个元素的 class 列表中是包含某个 class。

add( String [, String] )添加一个class。

remove( String [,String] )删除一个class。

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

  • list1
  • list2
  • list3

document.getElementsByTagName('li'); document.querySelectorAll('li');

document.querySelectorAll('.btn'); document.getElementsByClassName('btn');

你可能感兴趣的:(DOM)