其他分享
首页 > 其他分享> > DOM节点的使用(常用方法+代码)

DOM节点的使用(常用方法+代码)

作者:互联网

DOM节点的应用



学习总结

1. 什么是 DOM

DOM 是 Document Object Model 文档对象模型的缩写。根据 W3C DOM 规范,DOM 是一种与浏览器,平台,语言无关的接口,可动态地修改 XML 和 HTML。
D:文档 – HTML文档 或 XML 文档
O:对象 – document 对象的属性和方法
M:模型

2. HTMLDOM

1)DOM 是将 HTML 文档表达为树结构, 定义了访问和操作 HTML 文档的标准方法;
2)DOM 树:节点(node)的层次。文档节点(document)、元素节点、属性节点、文本节点;
3)DOM 把一个文档表示为一棵家谱树(父,子,兄弟)。
在这里插入图片描述

3. 元素获取

元素获取方式:

元素节点的属性操作

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <!--页面加载完毕事件(当页面加载完毕以后,才执行函数体的代码)-->
    <script type="text/javascript">
        window.onload = function() {
            // 获取 div 标签(根据标签中 id 属性)
            // var p = document.getElementById("p1");
            var divEle = document.getElementById("div1");
            var divEle2 = document.getElementsByTagName("div");
            var divEle3 = document.getElementsByName("div");

            // 获取、设置属性的值
            
            // 1、通过 元素对象.属性名
            console.log(divEle.id);
            divEle.id = "div";
            // 通过点的方式如果属性是class,需要使用 className 名字
            console.log(divEle.className);
            divEle.className = "熊大";
            // 如果属性中有短杠的符号组合,在调用的时候需要去掉短杠,然后使用驼峰命名的方式
            console.log(divEle.style.backgroundColor);
			divEle.style.backgroundColor="green";
			
            // 2、通过 元素对象[“属性名”]
            console.log(divEle["id"]);
            divEle["id"] = "div";
            // 如果属性是class,需要使用 className 名字
            console.log(divEle['className']);
            divEle['className'] = "bbb"
            // 如果属性中有短杠的符号组合,这2中方式都可以
            console.log(divEle['style']["backgroundColor"]);
            divEle['style']["backgroundColor"] = "red";
            console.log(divEle['style']["background-color"]);
            divEle['style']["background-color"] = "red";

            // 3、元素对象.getAttribute("属性名")
            var idValue = divEle.getAttribute("id");
            console.log(idValue);
            divEle.setAttribute("id", 10);
            // 通过这种方式获取class属性,可以直接获取
            var classNameValue = divEle.getAttribute("class");
            console.log(classNameValue);
            divEle.setAttribute("class", "c2");
            // 标签中属性中的属性不能用 getAttribute 和 setAttribute
            // 例如 style 中的 background-color 属性,下面这2种方式取到的值都为 null
            var styleValue = divEle.getAttribute("backgroundColor");
            var styleValue2 = divEle.getAttribute("background-color");

			// 自定义属性
            // 获取和设置自定义属性值只能通过 getAttribute() 和 setAttribute()
            console.log(divEle.getAttribute("studentNo"));
            divEle.setAttribute("studentNo", "250");
            
            // 属性名和属性值相同的属性
            //属性名和属性值相同的属性,此时使用JS获取到的属性值是 true/false
            // checked="checked"
            // selected="seleted"
            // readonly="readonly"
            var cb = document.getElementById("cb");
            console.log(cb.checked);
     }
    </script>
</head>
<body>
<!-- 元素 -->
<p id="p1">段落1</p>
<p id="p2">段落2</p>

<div id="div1" class="c1" style="background-color: yellow;">div1</div>
<div id="div2" class="c2" style="background-color: beige;">div2</div>
<input type="checkbox" id="cb" checked="checked"/>

</body>
</html>

4. Node 对象的属性和方法

常用属性

在这里插入图片描述

常用方法

5. 事件处理

事件驱动编程

1)所谓事件驱动,简单地说就是你怎么触碰按钮(即产生什么事件),电脑执行什么操作(即调用什么函数).当然事件不仅限于用户的操作. 当对象处于某种状态时,可以发出一个消息通知,然后对这个消息感兴趣的程序就可以执行。

事件驱动编程的核心对象

<!--p元素是事件源 click是事件名称 --> 
<p style="color: red" id="p1" onclick="shout(event);">Hello world!</p> 
<script> //响应函数 
function shout(e){ //响应函数,监听函数 
	alert(e.clientX); //e事件对象 
} 
</script>

常用事件

事件绑定的方式

<input type="button" value="点我" onclick="alert('点我干啥?');"/>

        优缺点:这种方式特别简单,但是缺点是 HTML 和 JS 交错在一起,维护性差.

       2)通过元素对象的事件属性绑定

<!--在该元素被加载完的时候没有绑定事件--> 
<input type="button" value="点我啊" id="btn"/>
<script>
//使用JS代码为元素绑定事件 
var btn = document.getElementById("btn"); btn.onclick = function(){ 
	alert("点我干啥"); 
}
</script>

        优缺点:这种方式,使得 HTML 和 JS 完全分离开来,便于后期维护,推荐使用。
注意: 使用这种方式为元素绑定事件,一定是要在元素被加载后,然后再执行上面的JS代码, 这样才能绑定成功。

<input type="button" value="点我啊" id="btn"/> 
<script> 
	//在input元素被加载后再根据id获取这个元素,可行 
	var btn = document.getElementById("btn");
	btn.onclick = function(){ 
		alert("点我干啥"); 
	} 
</script>

       2)使用文档加载事件, 在整个html文档加载完成之后再获取元素,绑定事件

<script>
	window.onload = function(){ 
		//这个函数中的代码会在整个文档加载完成之后再执行 
		//此时获取元素,可行 
		var btn = document.getElementById("btn"); 
		btn.onclick = function(){ 
			alert("点我干啥");
		} 
	}
</script>

6. DOM小例题

例题一:JS实现列表移动(通过document操作select标签)
例题二:用 JS(JavaScript )实现增删改查
例题三:用 JS(JavaScript )实现多选框的全选、反选、多选

总结

以上就是对 DOM 节点的详细介绍了,代码仅供参考,欢迎讨论交流。
JavaScript的介绍请看我上一篇博客:JavaScript的使用(语法+代码)

标签:DOM,代码,元素,divEle,事件,节点,属性
来源: https://blog.csdn.net/zzvar/article/details/116106390