一些DOM小操作

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

innerText是一个可写属性,返回元素内包含的文本内容,在多层次的时候会按照元素由浅到深的顺序拼接其内容。

innerText 从起始位置到终止位置的内容, html标签都被转义后保存.

简单场景:如果输入框中有标签的话,可以用innerText转义,获取内容

innerHTML属性作用和innerText类似,但是不是返回元素的文本内容,而是返回元素的HTML结构,在写入的时候也会自动构建DOM。

innerHTML 获取从对象的起始位置到终止位置的全部内容,包括Html标签

参考文

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

children是Element的属性,childNodes是Node的属性,

  1. children:
    非标准的,它返回指定元素的子元素集合。经测试,它只返回HTML节点,甚至不返回文本节点
 

这是一张图

img
var open= document.getElementById('open'); var d=open.children; for(var i=0; i​这是一张图​​ ​"img"
  1. childNodes:
    标准的,返回指定元素的子元素集合,包括HTML属性,所有属性,文本。可以通过nodeType来判断是哪v 种类型的节点
var open= document.getElementById('open');
var d=open.childNodes;
    for(var i=0; i​这是一张图​​
"hfhfhfhdhjshdfkshfksh"
 ​"img"
节点类型 NodeType
元素element 1
属性attr 2
文本text 3
注释comments 8
文档document 9

补充:
 Node(节点)是DOM层次结构中的任何类型的对象的通用名称,Node有很多类型,如元素节点,属性节点,文本节点,注释节点等,通过NodeType区分,常见的有:

节点类型 NodeType
元素element 1
属性attr 2
文本text 3
注释comments 8
文档document 9

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

document.getElementById()//返回特定的id名的元素
document.getElementByClassName() //返回文档中所有指定类名的元素集合,作为 NodeList 对象。
document.getElementByTagName()//获取所有指定标签的元素
document.getElementByName()//获取所有指定name属性值的元素

ES5 元素选择方式:

document.querySelector() //返回匹配指定条件的第一个元素,,

document.querySelectorAll()//返回符合指定条件的所有元素,得到一个NodeList对象

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

var node= document.createElement(' 标签名称 ');//创建一个html节点

node.setAtrribute('属性名','设置的属性值') //设置属性

node.removeAtrribute('属性名')

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

这是一张图

//div末尾添加一个p标签
var node = document.querySelector('div')//现获取要添加元素的标签
var p= document.createElement('p');//创建一个新的段落元素
 node.appendChild(p)  //添加子元素
输出结果:

这是一张图

删除子元素过程:

var node= document.querySelector(div)  //获取要删除子元素的元素
var p= document.getElementByTagName(p)  // 获取删除的元素
node.removeChild(p)  // 删除操作

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

var img= document.querySelector('images');

img.classList() //查看img元素的类名,返回一个数组
img.classList.add('active') //添加类名
img.classList.remove('active') //删除类名
img.classList.contains('active')//是否包含active类名,返回true ,则是包含, 返回false,为不包含

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



  • list1

  • list2

  • list3



注意: querySelectorAll('参数') //要求参数是字符串

var list= document.querySelectorAll('li') //获取所有li
console.log(list)

var btn1=document.getElementByClaaName('btn')
console.log(btn1)

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