js中DOM

1. DOM(增删改查★★★★★)DOM对象:

Document Object Model 文档对象模型作用:通过DOM对象可以访问和操作html文件的每一个标签。
html文档加载到浏览器的内存中后,我们认为形成了一颗DOM树,即html标签按照层级结构而形成了一颗“家谱树”,而任何一个html标签、标签属性和文本都是这个树上的节点元素。js中DOM_第1张图片
我们可以通过js的DOM组件中的方法对内存中的DOM树上的结构和内容进行修改,即通过js动态的修改内存中的那一份html及css的代码。

W3C组织规定:当浏览器把一个html文件加载到内存中之后,这个html文件,就是一个Document对象。

并且在浏览器加载html文件中的所有标签时,把html文件中的所有标签页加载成不同的对象,以及标签中的属性,也加载成对象,标签中的文本也加载成对象。

浏览器在加载某个标签时,标签的文本数据,被加载成当前标签的一个子标签。当我们把一个html文件加载完成之后,他们就得到这个html文件中的所有标签,属性,文本对象。

可以使用js技术结合Document对象,对html文件中的所有标签,进行各种操作。在浏览器把html文件加载完成之后,标签被称作标签对象(元素节点),标签中的文件称为文本节点(文本对象),标签的属性称为属性节点(属性对象)。js中DOM_第2张图片

1.1. DOM的操作方法

1.1.1. 标签元素的操作


获得元素对象

document.getElementById(“ID名”);
返回指定的id对象



js中DOM_第3张图片

下面三个获取的都是一个数组!

document.getElementsByName("name名");		返回指定name值的对象集合
document.getElementsByTagName("标签名");		返回指定标签名的对象集合
document.getElementsByClassName("class名");	返回指定class名的对象集合

在js中不分数据类型,所以可以直接通过var object接收集合

var username = document.getElementsByTagName('input');
alert(username);

js中DOM_第4张图片

document.getElementsByName(“name名”);





document.getElementsByTagName(“标签名”);





document.getElementsByClassName(“class名”);






创建一个新元素

document.createElement(“tagName”); 创建标签对象
需要与appendChild() 或 insertBefore()方法联合使用

1.创建链接


在js中使用createElement创建HTML对象和元素


标签内容的获取与设置
Element.innerHTML;		获取标签内部的所有内容
Element.innerText;		获取标签内部的文本内容
风花雪月

风花雪月


子节点的操作
hasChildNodes();	判断是否含有子节点,返回true或false
remove();	删除当前标签对象,等同于自杀
removeChild(childElement);	通过父标签对象删除子标签对象
replaceChild(newChild,oldChild);	替换父节点下的子节点
appendChild(newChild);	向父标签下追加子标签对象
insertBefore(newChild,refChild);	向父标签下指定的子节点前添加标签对象

hasChildNodes();

remove();
removeChild(childElement);

  • 北京
  • 上海
  • 广州

replaceChild(newChild,oldChild);

传智播客

appendChild(newChild);
insertBefore(newChild,refChild);

传智播客


标签属性的操作

获得属性的值:element.getAtrribute(“name”) element.属性名
一般来说,我们直接使用element.属性名即可,如果这种方法不行,就采用上述的方式来获取,如果用element.属性名获取class需要用className才能得到。



设置属性的值:element.setAtrribute(“name”,“value”)
可以直接采用element.属性名通过单等号来赋值



删除某个属性:element.removeAtrribute(“name”)



你可能感兴趣的:(前端)