JavaScript——DOM(1)

一、认识DOM

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

首先我们需要知道它与其他标签或对象的关系

JavaScript中页面的所有标签都被DOM化,也就是说每一个标签就是一个对象,整个页面存在这个DOM树的继承关系。

二、如何操作DOM?

想要操作DOM需要先找到DOM对象,

1.查找DOM对象的几种方式

(1)直接获取(不推荐)

直接使用id获取对象,但这种写法阅读难度大,影响代码的阅读

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		
	</head>
	<body>
		<div id="show">这个是一个div</div>
		

		
		<script type="text/javascript">
			// 1、直接使用id获取对象,虽然很简单
			// 但是这种写法对于程序员阅读理解有难度,不推荐使用
		console.info(show);

			
		</script>
	</body>
</html>

(2)利用api   getElementById('标签的id')

因为document本身就是一个对象,因此可以使用它其中的getElementById

返回一个div标签

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        
    </head>
    <body>
        <div id="show">这个是一个div</div>

        <input type="text" name="username" id="username" value="" />
        
        
        <script type="text/javascript">

            // 2、利用api getElementById('标签的id') (必须掌握)
            var show = document.getElementById("show");
            console.info(show)
       show.innerHTML = "JS第一";

        </script>
    </body>
</html>

(3)使用类名称来获取对应的标签

var asc = document.getElmentsByClassName(" ")

返回一个类似数组的东西

如果想访问某一个(例如修改其中一个标签),acs[0].innerHTML=" "

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		
	</head>
	<body>
		
		<ul>
			<li class="active">这个是一个列表1</li>
			<li class="active">这个是一个列表2</li>
			<li class="active">这个是一个列表3</li>
			<li class="active" name="liujianhong">这个是一个列表4</li>
			<li class="active">这个是一个列表5</li>
			<li class="active">这个是一个列表6</li>
			<li class="active">这个是一个列表7</li>
			<li class="active">这个是一个列表8</li>
		</ul>
		
		
		<script type="text/javascript">

			
			// 3、使用类名称来获取对应的标签 (必须掌握)
			var acs = document.getElementsByClassName("active");
			console.info(acs)
    		acs[0].innerHTML = "和哈";
			

			
		</script>
	</body>
</html>

(4)通过标签名称

document.getElmentsByTagName(" ")

返回一个列表

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		
	</head>
	<body>
		<div id="show">这个是一个div</div>
		
		<ul>
			<li class="active">这个是一个列表1</li>
			<li class="active">这个是一个列表2</li>
			<li class="active">这个是一个列表3</li>
			<li class="active" name="liujianhong">这个是一个列表4</li>
			<li class="active">这个是一个列表5</li>
			<li class="active">这个是一个列表6</li>
			<li class="active">这个是一个列表7</li>
			<li class="active">这个是一个列表8</li>
		</ul>		
		
		<script type="text/javascript">

			
			// 4、通过标签名称
			var divs = document.getElementsByTagName("div");
			console.info(divs)
	
			
		</script>
	</body>
</html>

(5)通过name属性来获取对象

document.getElementsByName("username")

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		
	</head>
	<body>

		
		<input type="text" name="username" id="username" value="" />
		
		
		<script type="text/javascript">

			
			// 5、通过name属性来获取对象
			// 注意:该api主要用来获取表单对象
			var unames = document.getElementsByName("username");
			console.info(unames)
			
			
		</script>
	</body>
</html>

2.操作DOM对象的内容

(1)innerHTML【慎用】

注意:很容易引起XSS攻击

获取DOM对象的子标签及文本内容

(2)innerText【非W3C标准】

只获取文本内容,包括子标签的内容

(3)textContent【W3C标准】

(4)XSS攻击

详细信息:https://baike.baidu.com/item/XSS%E6%94%BB%E5%87%BB/954065?fr=aladdin

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值