JavaScript 基础 【DOM】

什么是 DOM

  • DOM,全程是 Document Object Model 文档对象模型。
  • JS 中通过 DOM 来对 HTML 文档进行操作。只要了解 DOM 就可以随心所欲的操作 WEB 页面。
  • 文档:文档表示的就是整个 HTML 网页文档
  • 对象:对象表示将网页中的每一个部分都转换成了一个对象
  • 模型:使用模型来表示对象之间的关系,这样方便我们获取对象。

模型

在这里插入图片描述

节点

节点:Node – 构成 HTML 文档最基本的单元。
常用节点分为四类:

  • 文档节点:整个 HTML 文档
  • 元素节点:HTML 文档中的 HTML 标签
  • 属性节点:元素的属性
  • 文本节点:HTML 标签中的文本内容

在这里插入图片描述

事件

事件:文档或浏览器窗口中发生的一些特定的交互瞬间。(点击按钮、鼠标移动、关闭窗口)
JavaScript 与 HTML 之间的交互时通过事件实现的。

放置一个普通按钮

		<button id="btn">我是一个按钮</button>

获取按钮对象

var btn = document.getElementById("btn");

可以为按钮的对应事件帮定处理函数的形式来响应事件,这样当事件被触发时,其对应的函数将会被调用

绑定一个单击事件
像这种为单击事件绑定的函数,我们称为单击响应函数

			btn.onclick = function(){
    
    
				alert("别点我!!!");
			}

在这里插入图片描述
在这里插入图片描述

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<button id="btn">我是一个按钮</button>
		<script type="text/javascript">
			
			var btn = document.getElementById("btn");
			
			btn.onclick = function(){
      
      
				alert("别点我!!!");
			}
			
		</script>
	</head>
	<body>
	</body>
</html>

DOM 的基本方法

获取元素节点

通过 document 对象调用

  1. getElementById()
    通过 id 属性获取一个元素节点对象
  2. getElementsById()
    通过标签名获取一组元素节点对象

这个方法会给我们返回一个类数组对象,将所有查询到的元素封装到对象中
即使查询到的元素只有一个,也会封装到一个对象中

  1. getElementsByName()
    通过 name 属性获取一组元素节点对象

获取元素节点的子节点

通过具体的元素获取

  1. getElementByTagName()
    方法,返回当前节点的指定标签名后代节点
  2. childNodes
    属性,表示当前节点的所有子节点
  3. firstChild
    属性,表示当前节点的第一个子节点
  4. lastChild
    属性,表示当前节点的最后一个子节点

获取父节点和兄弟结点

通过具体的节点调用

  1. paraentNode
    属性,表示当前节点的父节点
  2. previousSibling
    属性,表示当前节点的前一个兄弟节点
  3. nextSibling
    属性,表示当前节点的后一个兄弟节点

DOM 增删改

  1. createElement()
    用于创建一个元素节点对象
    它需要一个标签名作为参数,将会根据该标签名创建元素节点对象,并将创建好的对象作为返回值返回

  2. createTextNode()
    可以创建一个文本节点对象
    需要一个文本内容作为参数,将会根据该内容创建文本节点,并将新的节点返回

  3. appendChild()
    向一个父节点中添加一个新的子节点
    用法:父节点.appendChild(子节点)

  4. insertBefore()
    向指定子节点之前插入新的子节点
    语法:父节点.insertBefore(指定子节点,新的子节点)

  5. replaceChild()
    使用指定的子节点替换已有的子节点
    语法:父节点.replaceChild(指定子节点,已有子节点)

  6. removeChild()
    删除子节点
    语法:父节点.removeChild(子节点)、子节点.parentNode.removeChild(子节点)

  7. innerHTML()
    获取子节点中的 HTML 内容
    语法:父节点.innerHTML(子节点)

使用 DOM 操作样式

语法:元素.style.样式名 = 样式值

注意:如果 CSS 的样式名中含有 -
这样的名称在 JS 中是不合法的,如:background-color
需要将这样的样式名修改为驼峰命名法
去掉-,然后将-后的字母大写

我们通过 style 属性设置的样式都是内联样式,而内联样式有较高的优先级,所以通过 JS 修改的样式往往立即显示

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			
			#box1{
      
      
				width: 200px;
				height: 200px;
				background-color: red;
			}		
			
		</style>
		<script type="text/javascript">
		
			window.onload  = function(){
      
      
				
				var box1 = document.getElementById("box1");
				
				var btn1 = document.getElementById("btn1");
				
				btn1.onclick = function(){
      
      
					
					box1.style.width = "300px";
					box1.style.backgroundColor = "yellow";
					
				}
				
			}
			
		</script>
	</head>
	<body>
		
		<button id="btn1">点我!</button>
				
		<div id="box1">
			
		</div>
		
	</body>
</html>

在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_52354698/article/details/124542414