HuangHongRui / Notebook

:pencil2: Yeah.. This's My NoteBook...:closed_book:
0 stars 0 forks source link

DOM Operate #6

Open HuangHongRui opened 7 years ago

HuangHongRui commented 7 years ago

创造机会,以后有你

🍼持续更新


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

均可读可写 innerHTML 属性主要用于获取当前元素节点(nodeElement)的内部元素节点 innerText 属性主要用于获取元素(nodeElement)的内部文本元素(TextNode) 看图比较 均可读可写


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

elem.children是一个只读属性,返回 一个Node的子元素 的 HTMLCollection elem.childNodes返回包含指定节点的子节点的集合,该集合为即时更新的集合(live collection)。

  • elem.children返回的将是元素子节点,而childNodes将返回所有的子节点类型,包括一大堆的换行和空格的#text节点,一般情况建议使用children,这样通过数组的下标更能精准的访问每一个子节点. Code 输出结果

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

  • getElementById
  • getElementsByClassName
  • getElementsByTagName
  • [getElementsByName](https://developer.mozilla.org/zh- CN/docs/Web/API/Document/getElementsByName)
  • Es5:(下面可以更方便的通过使用CSS选择器来查找元素)
  • querySelector
  • querySelectorAll

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

  • createElement //创建一个元素
  • createTextNode //创建一个文本
  • setAttribute(Name, Name)
  • removeAttribute(Name, Value) Just Do It

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

  • createElement
  • appendChild
  • removeChild Do it

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

  • Element.classList 是一个只读属性,返回一个元素的类属性的实时 DOMTokenList集合。该属性可用于在元素中添加,移除及切换 CSS 类,classList 属性是只读的,但你可以使用 add() 和 remove() 方法修改它。
  • add( String [, String] ) 添加指定的类值。如果这些类已经存在于元素的属性中,那么它们将被忽略。
  • remove( String [,String] ) 删除指定的类值。
  • item ( Number ) 按集合中的索引返回类值。
  • toggle ( String [, force] ) [1] 当只有一个参数时:切换 class value; 即如果类存在,则删除它并返回false,如果不存在,则添加它并返回true。 [2] 当存在第二个参数时:如果第二个参数的计算结果为true,则添加指定的类值,如果计算结果为false,则删除它
  • contains( String ) 检查元素的类属性中是否存在指定的类值。 Test

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

  • querySelectorAll()
  • getElementsByTagName()
  • getElementsByClassName()