JavaScript获取元素的方法,如何获取元素

获取页面元素的方式
1.通过js的dom方法:可以使用内置对象 document 上的 getElementById 方法来获取页面上设 置了 id 属性的元素,获取到的是一个 html 对象,然后将它赋值给一个变量.
获取页面元素那么必须将获取元素的代码块放置在事件中
如果把 javascript 写在元素的上面,就会出错,因为页面上从上往下加载执行的,javascript 去页面上获取元素 div1 的时候,元素 div1还没有加载,解决方法有两种:
(1)将 javascript 语句放到 window.onload 触发的函数里面,获取元素的语句会在页面加载完后才执行.

注:属性的操作包括属性的读和写。
操作属性的方法
1、“.” 操作
2、“[ ]”操作
属性的写法
1、html 的属性和 js 里面属性写法一样
2、“class” 属性写成 “className”
3、“style” 属性里面的属性,有横杠的改成驼峰式,比如:“font-size”,改
成”style.fontSize”
通过“.”操作属性:
通过“[ ]”操作属性:

<script type="text/javascript">
	window.onload=function(){
		var div=document.getElementById('div1');
//		alert(div);//输出结果为[object HTMLDivElement]
		div.style.width=200+'px';
		div.style.height=200+'px';
		div.style.background='red';
//		div.style.border='5px dashed black';//两种书写格式
		div.style.borderWidth=5+'px';
		div.style.borderColor='red';
		div.style.borderStyle='dashed';
//		获取页面中div的值(innerHTML与innerTEXT)
		var divContent=div.innerHTML;//获取页面元素中的内容(包含元素中的HTML的子元素)
		alert(divContent);//输出结果为 Hello JavaScript<p>爱学习</p>
//		var divContent=div.innerText;//获取页面中文本内容
//		alert(divContent);
	}
</script>
<body>
		<div id="div1">Hello JavaScript<p>爱学习</p></div>
</body>

(2):将 javascript 放到页面最下边 (写入body中)

<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title></title>		
</head>
	<body>
		<div class="div1"   id="div1">Hello JavaScript<p>爱学习</p></div>
		<script type="text/javascript">
			window.onload=function(){
				var div=document.getElementById('div1');
//				alert(div);  返回的结果为: [object HTMLDIVElement]
				div.style.width=200+'px';
				div.style.height=200+'px';
				div.style.background='red';
//				div.style.border='10px dashed black';
				div.style.borderColor='black';
				div.style.borderWidth=10+'px';
				div.style.borderStyle='dashed';				
//				获取页面中div的值
//				innerHTML: 获取页面元素中的内容(包含元素中的html子元素)
				var divContent =div.innerHTML;		
//				innerText:获取页面元素中的文本内容
				var divContent=div.innerText;
//				alert(divContent);
//				var divWidth=div.innerWidth;
//				alert(divWidth);
				div.innerHTML='<a href="#">超链接</a>学的不仅是技术'
//			}
		</script>
	</body>
</html>

2.通过getElementsByclassName()根据元素的class获取元素
因为getElementsByClassName()获取到的结果是一个集合,要想获取单个的元素使用索引的方式获取

3.通过getElementsByTagname():根据元素标签名称获取元素(返回集合对象数组,可以通过*方式获取页面上所有的元素)
<body>
<div id="div1">好好学习天天向上<p>请认真听讲</p></div>
<div id="div1">好好学习天天向上<p>请认真听讲</p></div>
<div id="div1">好好学习天天向上<p>请认真听讲</p></div>
<script type="text/javascript">
   var div=document.getElementsByTagName('*').innerHTML;
   alert(div1);
</script>
</body>

innerHTML和innerText的区别:

共同点:innerHTML和innerText都会把元素内内容替换掉。
不同点:(1)innerHTML:也就是从对象的起始位置到终止位置的全部内容,包括Html标签。
(2)innerText:从起始位置到终止位置的内容, 但它去除Html标签

innerHTML是符合W3C标准的属性,而innerText只适用于IE浏览器,因此,尽可能地去使用innerHTML,

猜你喜欢

转载自blog.csdn.net/weixin_43253175/article/details/84890988