DOM

DOM 对象的innerText和innerHTML有什么区别

  • innerText
    innerText是一个可写属性,返回元素中包含的文本内容,在多层次的时候会按照元素之间的包含顺序拼接文本内容
  • innerHtml
    在读模式下,innerHtml返回调用元素的所有子节点对应的HTML的标记;在写模式下,会根据指定的值自动构建DOM树,替换原来DOM树

elem.children和elem.childNodes的区别

  • children
    children属性是一个非标准的,他返回指定元素的子元素的集合(只返回HTML节点)
  • childNodes
    childNodes接口包含特定于Node对象的方法,标准的,返回指定元素的子元素集合(HTML节点、属性、文本),通过nodeType判断节点的类型
var message = document.getElementById('test')
console.log(message.childNodes)
console.log(message instanceof Element)
console.log(message instanceof Node)
console.log(message.nodeType == 1)

console.log(message.children)
console.log(message instanceof Element)
console.log(message instanceof Node)
DOM_第1张图片
结果

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

  • getElementById()
    返回匹配指定ID属性的元素节点。匹配不到则返回null
  • getElementByClassName()
    返回指定class名字(可以是多个class名,用空格分隔)的类数组的对象,而且遇上你素的变化同步反映在返回结果中,不仅可以在document对象上调用也可以在任何他元素节点上调用
  • getElementByTagName()
    返回指定标签的元素,由于返回值是一个HTMLCollection对象,所以元素的变化会实时反映在返回的集合中不仅可以在document对象上调用也可以在任何他元素节点上调用
  • getElementByName()
    匹配拥有name属性的HTML元素,返回一个NodeLIst格式的对象,不能实时反映元素的变化(IE浏览器中使用该方法会返回没有name属性却拥有同名id属性的元素,所以做到name和id尽量不同名)
  • ES5中的元素选择方法
    • querySeletor()
      返回匹配指定的css选择器的元素节点(无法匹配到伪元素)
    • qureySeletorAll()
      返回匹配到的所有指定css选择器(当参数是多个用,分隔的的css选择器时,返回所有匹配其中一个的选择器匀元素)的元素节点

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

  • createElement()
    生成HTML元素节点
  • createTextNode()
    生成文本节点
  • createDocumentFragment()
    生成一个DocumentFragment对象
  • 设置元素的属性
    • getAttribute()获取元素的属性值
    • creatAttribute()生成一个新的属性对象节点,并返回
    • setAttribute()设置元素属性、
    • removeAttribute()删除元素属性

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

  • appendChild()在元素末尾添加元素
  • insertBefore()在某个元素前插入元素
  • removeChild()删除元素

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

var nodeBt = document.querySelector('.bt')
console.log(nodeBt.classList)
nodeBt.classList.add('cn')  //新增class
nodeBt.classList.remove('cn')  //删除切换
nodeBt.classList.toggle('csn')  // 新增/删除切换
console.log(nodeBt.classList.contains('csn')) //判断是否拥有 class ‘csn’

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

  • list1
  • list2
  • list3

你可能感兴趣的:(DOM)