欢迎来到知了汇智!
联系电话:知了汇智-电话号码 028-62016472 / 13228113191

分享JavaScript获取元素的方法-知了汇智

分享JavaScript获取元素的方法

  JavaScript获取页面元素的方式

  1.通过js的dom方法:

        可以使用内置对象 document 上的 getElementById 方法来获取页面上设 置了 id 属性的元素,获取到的是一个 html 对象,然后将它赋值给一个变量.

  获取页面元素那么必须将获取元素的代码块放置在事件中

JavaScript获取元素的方法

 

  如果把 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()获取到的结果是一个集合,要想获取单个的元素使用索引的方式获取
 

 
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
			window.onload=function(){
//				以下是根据索引获取页面中第二个div
				var div=document.getElementsByClassName('div1')[1];
//				alert(div);
				div.style.width=200+'px';
				div.style.height=200+'px';
				div.style.background='red';	
			}
		</script>
	</head>
	<body>
		<div class="div1"></div>
		<div class="div1"></div>
	</body>
</html>

  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,
 

  版权声明:本文来源于网络,由知了堂搜集整理,仅供大家学习前端时使用

132 2811 3191
预约免费试学
点击咨询
预约试学