前端基础之《JavaScript(6)—JS DOM对象》

一、已经用过的js dom对象

document    //文档流
document.documentElement    //html标签
document.head
document.title
document.body

二、获取元素对象方法

document.getElementById()
document.getElementsByTagName()
document.getElementsByClassName()
document.getElementsByName()

三、元素对象常用属性

<h1 id="hid"><span>test</span></h1>

属性都是可读可写,拿到标签:

var obj=document.getElementById("hid");

obj.id
obj.className
obj.style
obj.title
obj.textContent    //获取元素标签内的text内容
obj.innerHTML    //获取元素标签内的html内容
obj.outerHTML    //获取元素标签外的html内容
obj.tagName    //获取元素对象的标签名

获取元素对象的属性:
obj.getAttribute("class");
因为点不包含很多属性

设置元素对象的属性:
obj.setAttribute("class", "hclass");

四、遍历集合对象设置事件

1、objs[i]
获取objs这个集合的属性
注:for循环里i是属性,objs[i]是属性的值

<!DOCTYPE html>
<html lang="en">

<head>
<meta charset="UTF-8">
<title>document对象属性</title>
<script src="funs.js"></script>
<style>

</style>
</head>

<body>
	<h1>aaa</h1>
	<h1>bbb</h1>
	<h1>ccc</h1>
	<hr/>
</body>

<script>
	var objs=document.getElementsByTagName("h1");
	for(var i in objs){
		document.write("<h2>",i,"===>",objs[i],"</h2>");
	}
	
</script>

</html>

执行结果:
0===>[object HTMLHeadingElement]
1===>[object HTMLHeadingElement]
2===>[object HTMLHeadingElement]
length===>3
item===>function item() { [native code] }
namedItem===>function namedItem() { [native code] }

2、this
遍历数组不要用for in因为它会遍历到对象的其他属性上去

	var objs=document.getElementsByTagName("h1");
	for(var i=0;i<objs.length;i++){
		objs[i].onclick=function(){
				alert(this.innerHTML);
		}
	}

五、文档内常用集合

这些都是元素集合,页面上与生俱来就有

1、forms集合
document.forms

2、elements集合
document.elements

3、options集合
document.options

4、rows集合(表里的行)
document.rows

5、cells集合(行里的格)
document.cells

6、images集合
document.images

7、links集合
document.links

8、anchors集合
document.anchors

9、frames集合
document.frames

10、elements集合.html

<!DOCTYPE html>
<html lang="en">

<head>
<meta charset="UTF-8">
<title>elements集合</title>
<script src="funs.js"></script>
<style>

</style>
</head>

<body>
	<form style="display:inline">
		请选择水果:
		<br/>
		<select name="s1" id="" size="10" style="width:60px;height:200px;" multiple>
			<option value="苹果">苹果</option>
			<option value="香蕉">香蕉</option>
			<option value="橘子">橘子</option>
			<option value="桃子">桃子</option>
			<option value="西瓜">西瓜</option>
			<option value="香瓜">香瓜</option>
			<option value="葡萄">葡萄</option>
		</select>
	</form>
		<button onclick="sct()">>></button>
	<form style="display:inline">
		<select name="s2" id="" size="10" style="width:60px;height:200px;">
		
		</select>
	</form>
</body>

<script>
	var forms=document.forms;  //两个form表单
	
	function sct(){
		var select=forms[0].elements; //第一个form表单,里面就一个select元素
		var select2=forms[1].elements;
		var opts=select[0].options;  //select元素里面的options
		
		for(var i=0;i<opts.length;i++){
			if (opts[i].selected){ //后面删了,前面人会往上挤
				//alert(opts[i].value);
				//我们要自己创建一个option
				var newopt=document.createElement("option");
				newopt.value=opts[i].value;
				newopt.innerHTML=opts[i].value;
				
				//塞到第二个select里面
				select2[0].add(newopt);
				
				//删除第一个下拉菜单的元素
				select[0].remove(i);
				
				i--; //删除后元素个数变了,要减回去
				
			}
		}
		
	}
</script>

</html>

11、rows和cells集合.html

<!DOCTYPE html>
<html lang="en">

<head>
<meta charset="UTF-8">
<title>rows和cells集合</title>
<script src="funs.js"></script>
<style>

</style>
</head>

<body>
	<h1 id="hid" class="hcls"><span>test</span></h1>
	<table width="500px" border="1" id="tid">
		<tr>
			<td></td>
			<td></td>
			<td></td>
		</tr>
	</table>
</body>

<script>
	var tabobj=document.getElementById("tid");
	//alert(tabobj.rows.length);
	//alert(tabobj.rows[0].cells.length);
	
	tabobj.insertRow(0); //插入一行
	tabobj.rows[0].insertCell(0); //插入一列
	tabobj.rows[0].insertCell(1);
	tabobj.rows[0].insertCell(2);
	
	tabobj.rows[0].cells[0].innerHTML="aaa";
	tabobj.rows[0].cells[1].innerHTML="bbb";
	tabobj.rows[0].cells[2].innerHTML="ccc";
</script>

</html>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值