JavaScript——dom基本操作

1、dom基本操作(Document Object Model)文档对象模型
查找 HTML 元素的4中方式

<html
<head>
<title>test</title>
<style>
		#div1{
			width: 200px;
			height: 300px;
			position: absolute;
			left: 400px;
			top: 500px;
			background-color: red;
		}
	</style>
</head>
<body>
	<div id="div1"></div>
	<div class="div2"></div>
	<div class="div2"></div>
	<div name="div3"></div>
	<div name="div3"></div>
</body>
<script>
	//第一种,通过id获取
	var oDiv1 = document.getElementById('div1');
	alert(oDiv1);//得到的是一个对象
	//第二种,通过classname获取
	var aDiv2 = document.getElementsByClassName('div2');
	alert(aDiv2);//得到的是一个数组集合,
	alert(aDiv2[0]);//可以得到具体对象
	//第三种,通过name获取
	var aDiv3 = document.getElementsByName('div3');
	alert(aDiv3);//得到的是一个结点集合,
	alert(aDiv3[0]);//可以得到具体对象
	//第四种,通过tagname获取
	var aDiv = document.getElementsByTagName('div');
	alert(aDiv);//得到的是一个数组集合,
	alert(aDiv[0]);//可以得到具体对象
</script>
</html>

其他操作:

	alert(document.title);//得到标题
	alert(document.body);//得到body结点,[object HTMLBodyElement]
	alert(document.documentElement.clientWidth);//获取可视区的宽度
	alert(document.documentElement.clientHeight);//获取可视区的高度
	var oDiv=document.getElementById('div')	
	console.log(oDiv.offsetWidth)//获取盒子的宽度
	console.log(oDiv.offsetHeight)//获取盒子的高度
	console.log(oDiv.offsetTop)	//获取盒子离顶部的距离
	console.log(oDiv.offsetLeft)//获取盒子离左边的距离
	console.log(document.body.scrollTop);//获取滚动条卷起高度

onload操作:

<html
<head>
<title>onload</title>
</head>
<script>
//表示当页面加载完之后才会执行函数内容
window.onload = function(){
	var oDiv = document.getElementById('div');
	alert(oDiv);
}
//当窗口大小发生改变的时候触发函数
window.onresize = function(){
	alert("100");
}
</script>
<body>
	<div id="div"></div>
</body>
</html>

2.获取属性:

<html
<head>
<title>属性</title>
</head>
<body>
	<div id="div" style="width:200px;height:300px;background-color:red"
	class="test"><p> Hello!</p></div>
</body>
<script>
	var oDiv=document.getElementById('div');
	alert(oDiv.id);//获取属性值
	alert(oDiv.className);
	//获取行内样式
	alert(oDiv.style.width);
	alert(oDiv.style.backgroundColor);//在html中属性带-,在js中去掉它并改为大写
	//获取内容
	alert(oDiv.innerHTML);//得到div标签内所有内容:<p>大家好!</p>
	alert(oDiv.innerText);//得到纯文本内容 “Hello!”
	//获取自定义属性
	oDiv.setAttribute('demo','100');//自定义属性的专属写法
	alert(oDiv.getAttribute('demo'));//自定义属性的专属获取方式
	//alert(oDiv.demo);不可以用这种方式获取
	</script>
</html>

注:获取行外样式方法:

<html
<head>
<title>属性</title>
<style>
#div{
	width:100px;
	height:100px;
	background-color:red;
}
</style>
</head>
<body>
	<div id="div"</div>
</body>
<script>
	var oDiv = document.getElementById('div');
	alert(getStyle(oDiv,'backgroundColor'));
	function getStyle(obj,name)
	{
		return obj.currentStyle ? obj.currentStyle[name]:    //IE支持
		getComputedStyle(obj,null)[name];            //火狐谷歌支持
	}
</script>
</html>

3.结点操作

<html
<head>
<title>属性</title>
</head>
<body>
	<ul id="ul">
		<li>刘备</li>
		<li id='li'>关羽</li>
		<li>张飞</li>
	</ul>
	<div id="parent">
		<div id="son"></div>
	</div>
</body>
<script>
	//通过父亲找儿子节点
	var oUl=document.getElementById('ul');
	alert(oUl.children);//得到子节点一个集合[object HTMLCollection]
	alert(oUl.children[0]);//得到第一个子节点对象
	alert(oUl.children[0].innerHTML);//得到第一个子节点对象文本
	
	//通过儿子找父亲节点
	var oDiv = document.getElementById('son');
	alert(oDiv.parentNode);//得到具体的父节点对象
	alert(oDiv.parentNode.id);//得到具体的父节点对象的某个属性值
	
	//找同辈节点
	var oLi1=document.getElementById('li');
	alert(oLi1.previousElementSibling.innerHTML);//得到同辈中的上一个节点
	alert(oLi1.nextElementSibling.innerHTML);//得到同辈中的下一个节点
	
	//创建、追加、删除、插入节点
	var oLi2 = document.createElement('li');//创建新节点
	oLi2.innerHTML='赵云';
	var oUl = document.getElementById('ul');//找父节点
	oUl.appendChild(oLi2);//找到父节点,追加li标签
	oUl.removeChild(oLi2);//找到父节点,删除li标签
	oUl.insertBefore(oLi2,oLi1);//将对象oLi2'赵云'插入到对象oLi1'关羽'前面
</script>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值