第十二天

110 阅读2分钟

创建节点


document.createElement(tagName):创建一个指定的HTML标记,一个节点
​
tagName:是指不带尖括号的HTML标记名称  
​
举例:var imgObj = document.createElement(“img”)
​
​
parentNode.appendChild(childNode):将创建的节点,追加到某个父节点下。
​
parentNode代表父节点,父节点必须存在。
​
childNode代表子节点。
​
举例:document.body.appendChild(imgObj)
​
box.insertBefore() 方法可在已有的子节点前插入一个新的子节点 先放要排在前面的元素, 再写其他元素
​
参数1表示新建的节点  参数2表示你要插入的那个节点之前

5、删除节点


parentNode.removeChild(childNode):删除某个父节点下的子节点。
​
parentNode代表父节点。
​
childNode代表要删除的子节点。
​
举例:document.body.removeChild(imgObj)
​
remove()直接删除当前项

五、HTML DOM的操作

核心DOM中,提供的属性和方法,已经可以操作网页了。为什么还要有HTMLDOM呢?

如果在核心DOM中,网页中节点层级很深时,访问这个节点时将十分麻烦。

那么,HTMLDOM中就提供了通过id直接找节点的方法,而不用再HTML根节点开始。


1getElementById()
​
功能:查找网页中指定id的元素对象。
​
语法:var obj = document.getElementById(id)
​
​
​
2getElementsByTagName(tagName)
​
功能:查找指定的HTML标记,返回一个数组
​
语法:var arrObj = parentNode.getElementsByTagName(tagName)
​
参数:tagName是要查找的标记名称,不带尖括号。
​
返回值:返回一个数组。如果只有一个节点,也返回一个数组。
​
​
3getElementsByName("Name")
​
功能:通过name值获取元素,返回值是数组,通常用来获取有name的input的值
​
4.getElementsByClassName()  
​
功能:通过class名获取元素,返回值是数组
​
ES5新增选择器:
​
5.document.querySelectorAll();    //强大到超乎想象,支持IE8+。ECMAScript借鉴了jQuery选择器的6.document.querySelector();  返回单个元素

六、元素属性的对象:

a、在HTML中叫“标记” b、 在DOM中叫“节点” c、在JS中叫“对象”


tagName:标签名称,与核心DOM中nodeName一样
​
className:CSS类的样式
​
id:同HTML标记id属性一样
​
title:同HTML标记的title属性一样
​
style:同HTML标记的style属性一样
​
innerHTML:包含HTML标记中的所有的内容,包括HTML标记等