DOM操作

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

innerText返回元素内的的文本内容,innerHTML返回元素内的HTML结构,包括标签。

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

elem.children:获取指定元素的子元素列表,包含HTML元素节点,也就是标签。

elem.childNodes:获取指定元素的子元素列表,包含HTML元素节、文本节点、注释节点。也包括一些空白,所以我们一般用elem.children比较多。

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

传统方法有:通过ID查找getElementById()、通过类名查找getElementByClassName()、通过标签名查找getElementsByTagName()、通过name属性查找(比如input)getElementsByName()。

ES5的元素选择方法:querySelector(),通过css选择器查询元素节点,查找一个。
和querySelectorAll,css选择器查找元素所有节点,查找多个。

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

通过createElement()方法创建元素。
setAttribute()方法给元素设置属性。
emoveAttribute()删除属性。

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

appendChild()方法在元素末尾添加元素
insertBefore()方法在某个元素之前插入元素
removeChild()方法可用于删除某元素下的子元素

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

添加class:
add(class1, class2, ...)在元素中添加一个或多个不存在的类名。

判断是否包含class:
contains(class)返回布尔值,判断指定的类名是否存在。
item(index)返回索引值对应的元素类名。

删除一个class:
remove(class1, class2, ...)移除元素中一个或多个类名。
toggle(class, true|false)在元素中切换类名。

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

  • list1
  • list2
  • list3

选中所有li元素:document.getElementsByTagName("li") document.querySelectorAll("li")
如何选中btn元素:document.getElementsByClassName("btn"),document.querySelector(".btn")

你可能感兴趣的:(DOM操作)