JavaScript中函数的文档对象模型(DOM)

DOM-Document Object Model,它是W3C国际组织的一套Web标准。它以树形结构表示文档(HTML,XML等),定义了便利,检查和修改各节点的属性和方法。

W3C组织将DOM分为以下几种不同版本:

                        Core DOM:定义任意结构文档的标准对象集合\n\n

                        XML  DOM:定义了针对XML文件标准对象集合

                        HTML DOM:定义了针对HTML文件的标准对象集合

                        DOM CSS:定义了在程序中操作CSS样式的接口

                        DOM Events:给DOM对象添加事件处理

DOM(Document Object Model):文档对象模型

可以干什么?

(1)获取一个元素

(2)移除一个元素

(3)创建一个元素

(4)向页面里添加一个元素

(5)给元素绑定一些事件

(6)获取元素的属性

(7)给元素添加一些css样式

DOM的核心对象就是domcument对象

domcument对象是浏览器内置对象的一个对象,里面存储着专门用来操作元素的各种方法

 文档结构:

获取节点信息

每个节点都拥有包含着关于节点某些信息的属性。这些属性是:

nodeName(节点名称):

                所包含的元素的标签名称永远都是大写的

                元素节点的nodeName是标签名称

                属性节点的nodeName是属性名称

                文本节点的nodeName永远是#text

                文档节点的nodeName永远是#document

获取节点信息:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<style type="text/css">
			.sp {
				color: blueviolet;
			}
		</style>
	</head>
	<body>
		<input type="button" name="btn" id="btn" value="点击" />
		<div id="div1">
			这是第一个div标签
		</div>
		<div id="div2">
			这是第二个div标签
		</div>
		<ul>
			<li>这是ul标签</li>
			<li>这是ul标签</li>
			<li>这是ul标签</li>
			<li>这是ul标签</li>
		</ul>
		<span class="sp">
			这是span标签
		</span>
		<p class="sp">
			这是sp标签
		</p>
		<script type="text/javascript">
			document.getElementById("btn").onclick = function() {
				//通过标签的id来获取元素
				var div1 = document.getElementById("div1")
				div1.innerHtML = "更改后的div"
				var div2 = document.getElementById("div2")
				div2.innerHtML = "更改后的div"
				//通过标签名获取标签
				var divs = document.getElementsByTagName("div")
				//console.log(divs)
				for (var i = 0; i < divs.length; i++) {
					console.log(divs[i])
					divs[i].innerHTML = "更改后的div"
				}
				var ul = document.getElementsByTagName("ul")[0]
				console.log(ul)
				//获取所有属性class的值是sp的标签
				var cls = document.getElementsByClassName("sp")
				console.log(cls)
				//通过name属性来获取标签
				var uname = document.getElementsByName("uname")
				console.log(uname[0])
				//通过选择器名称来获取标签,只能获取第一个
				var a = document.querySelector(".sp")
				console.log(a)
				//通过选择器名称来获取所有满足条件的标签
				var a2 = document.querySelectorAll(".sp")
				console.log(a2)
				//通过标签的id属性的值获取标签
				console.log(div1)

				//
				console.log(document.body)

			}
		</script>
	</body>
</html>
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<input type="button" value="添加节点" onclick="add()">&nbsp;
		<input type="button" value="删除节点" onclick="del()">&nbsp;
		<input type="button" value="修改节点" onclick="update()">
		<ul>
			<li>1</li>
			<li>2</li>
			<li>3</li>
			<li>4</li>
			<li>5</li>
		</ul>
		<script type="text/javascript">
			var ul=document.querySelector("ul")
			//添加一个新的li标签
			function add(){
				//创建一个节点
				var li=document.createElement("li")
				li.innerHTML="新增加的节点"
				//appendChild向一个标签中增加子标签
				ul.appendChild(li)
			}
			function del(){
				//要删除第一个子元素
				//document.firstElementChild
				var li=document.querySelectorAll("li")[0]
				
				ul.removeChild(li)//删除的使标签中的指定的子元素
				ul.remove()//会将所有的子元素清空,包括元素本身
				
			}
			function update(){
				var li=document.querySelectorAll("li")[1]
				li.innerHTML="更新后的"
			}
		</script>
	</body>
</html>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值