DOM文档对象模型

DOM Document Object Model 文档对象模型,HTML页面中的内容加载到内存,在内存中形成一个DOM对象。DOM用来操作页面上的内容。DOM本质上就是BOM中的document。


DOM文档对象模型

根据元素属性获得元素

document.getElementById(标签id属性值)    根据标签id属性值获取。非常常用!!!

document.getElementsByName(name)            根据name获得元素,返回数组

document.getElementsByTagName(tagName)     根据标签名获得元素,返回数组

node.getElementsByTagName(tagName)          根据标签名获得元素,返回数组

document.getElementsByClassName()          根据标签class属性获取元素(IE8以前没有支持)

 

访问属性

(1)获得属性值

                                             语法

var value = node.property;

                                             示例代码

var name = document.getElementById(‘username’).value;

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script>
			//因为在浏览器加载过程中,会从上往下加载,所以在加载到这里的时候,如果不加onload,会找不到下面的元素
			//所以这种获取元素内容的语句需要放到onload中,等待加载完再运行
			onload=function(){
				//方式1
				var name = document.getElementById("aaa").innerHTML;
				alert(name);
				//方式2
				var name2 = document.getElementById("bbb");
				alert(name2.innerHTML);
			}
		</script>
	</head>
	<body>
		<div id="aaa"">aaaa</div>
		<div id="bbb"">bbbb</div>
	</body>
</html>

(2)给元素的某个属性赋值

node.property=value;

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script>
			onload=function(){
				var dd = document.getElementById("d1");
				alert(dd.innerHTML);
				dd.innerHTML="我是aaa";
				alert(dd.innerHTML);
			}
		</script>
	</head>
	<body>
		<div id = "d1">aaa</div>
	</body>
</html>

例子:全选框

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script>
			function All(){
				var course = document.getElementsByName("course");
				for(var i=0;i<course.length;i++){
					course[i].checked=true;
//					course[i].checked="checked";
				}
			}
			function NoAll(){
				var course = document.getElementsByName("course");
				for(var i=0;i<course.length;i++){
					course[i].checked=false;
//					course[i].checked="";
				}
			}
			function ChoOther(){
				var course = document.getElementsByName("course");
				for(var i=0;i<course.length;i++){
					if(course[i].checked==false)
						course[i].checked=true;
					else
						course[i].checked=false;
				}
			}
		</script>
	</head>
	<body>
		<input type="checkbox" value="语文" name="course"/>语文
		<input type="checkbox" value="数学" name="course" />数学
		<input type="checkbox" value="英语" name="course" />英语
		<input type="button" value="全选" onclick="All();" />
		<input type="button" value="全不选" onclick="NoAll()" />
		<input type="button" value="其他" onclick="ChoOther()" />
	</body>
</html>

 

修改CSS样式

规则: 一个单词的css属性,在js中写法相同。多个单词的css属性css中使用 - js中使用驼峰形式。

css属性                                           javascript写法

background-color                                 backgroundColor

font-size                                         fontSize

z-index                                           zIndex

color                                             color

 示例:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			.aaa{
				width: 150px;
				height: 100px;
			}
			.bbb{
				width: 300px;
				height: 300px;
			}
		</style>
		<script>
			function f1() {
				document.getElementById("tt").style.backgroundColor="red";
			}
			function f2(){
				document.getElementById("tt").style.color="green";
			}
			function f3(){
				document.getElementById("tt").style.fontSize="20px";
			}
			function f4(){
				document.getElementById("tt").style.fontWeight=1000;
			}
			function f5(){
				document.getElementById("tt").style.fontFamily="楷体";
			}
			function f6(){
				document.getElementById("tt").className="bbb";
			}
			
			function showImg(){
				document.getElementById("img").style.display="inline";
			}
			function hideImg(){
				document.getElementById("img").style.display="none";
			}
		</script>
	</head>
	<body>
		<input type="button" value="改变背景颜色为红色" onclick="f1()" />
	   <input type="button" value="改变字体颜色" onclick="f2()" />
	   <input type="button" value="改变字体大小" onclick="f3()" />
	   <input type="button" value="改变字体粗细" onclick="f4()" />
	   <input type="button" value="改字体为楷书" onclick="f5()" /> 
	   <input type="button" value="改变文本框大小" onclick="f6()" />
	   <hr/>
	   <textarea id="tt" class="aaa">默认的值...</textarea>
	   <hr/>
	   <input type="button" value="显示图片" onclick="showImg()" />
	   <input type="button" value="隐藏图片" onclick="hideImg()" />
	   <img src="../img/11.jpg" id="img" style="display:none" width="150px" height="200px"/>
	</body>
</html>

innerHTML和innerText

var str = node.innerHTML;    // 取值 获取标签内的全部html内容

node.innerHTML="";            //赋值  

 

 

var str =  node.innerText;   //取值  获取标签内的文本内容

node.innerText = "";          //赋值

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
				function show(){
					var str2 = document.getElementById("dd").innerText;
					alert(str2);
				}
				function getText(){
					show();
					var str = document.getElementById("dd").innerHTML;
					alert(str);
				}
				function run(){
					getText();
					var str1 = "<ul><li>物理</li><li>化学</li><li>生物</li></ul>";
					document.getElementById("dd").innerHTML+=str1;
				}
		</script>
	</head>
	<body>
	<input type="button" value="执行语句" onclick="run()" />
	<hr />
	<div id="dd">
		<ul>
			<li>语文</li>
			<li>数学</li>
			<li>英语</li>
		</ul>
	</div>
	</body>
</html>

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值