HTML DOM方法

HTML DOM方法

 所有的HTML元素(标签)被定义为对象,对象具有一定的方法和属性。

 

 这些方法都是非常常见且有用的,我在这里不做过多解释,分别举例如下:上图中的方法在下面的例子中均有涉及,请仔细查找!

 

 getElementById():通过元素的ID属性获取到唯一的元素

 

<div id="myid"></div>
<script>
	var mydiv=document.getElementById("myid");
	mydiv.innerHTML="<h1>hello world!</h1>";
</script>

 

getElementsByTagName():通过元素的名称获取到所有该元素名的元素集合,该方法获取的是元素数组。

 

<div></div>
<script>
	var mydivs=document.getElementsByTagName("div");
	mydivs[0].innerHTML="<h1>hello world!</h1>";
</script>

 

 getElementsByClassName():同理,此方法是通过元素的CLASS属性获取元素集合

 

<div class="mydiv"></div>
<script>
	var mydivs=document.getElementsByClassName("mydiv");
	mydivs[0].innerHTML="<h1>hello world!</h1>";
</script>

 

createElement():创建HTML元素,即创建DOM对象,一般和createAttribute(),createTextNode(),appendChild(),replaceChild()共同使用

 

<body>
<div id="mydiv1">hello,mydiv1</div>
<script>
	var mydiv2=document.createElement("div");//创建一个div节点
	
	var myh1=document.createElement("h1");//创建一个h1节点
	var mytext=document.createTextNode("hello world!!!");//创建一个文本节点
	myh1.appendChild(mytext);//将文本节点添加到h1标签中
	mydiv2.appendChild(myh1);//将h1节点添加到div标签中
	
	//上面4行的操作等价于下面注释掉的一行的操作
	//mydiv2.innerHTML="<h1>hello world!</h1>";

	document.getElementsByTagName("body")[0].appendChild(mydiv2);//将div标签添加到body中
</script>
</body>

 

<body>
<div id="mydiv1">hello,<b>mydiv1</b></div>
<script>
	var mydiv2=document.createElement("div");//创建一个div节点
	mydiv2.innerHTML="<h1>hello world!</h1>";
	var x=document.getElementsByTagName("div")[0];
	x.replaceChild(mydiv2,x.firstChild.nextSibling);
	//替换mydiv1中的第二个子元素为新建的元素
	//hello,   和  <b></b>  是同一级元素,为兄弟元素
	//firstChild取得'hello,'   其下一个兄弟元素,即为<b>mydiv1</b>
	//将<b>mydiv1</b>替换为<div><h1>hello world!</h1></div>
</script>
</body>

 

涉及到属性,元素前插入,删除的操作方法示例:

 

<body>
<div id="mydiv1">hello,<b>mydiv1</b></div>
<script>
	var mydiv2=document.createElement("div");//创建一个div节点
	mydiv2.innerHTML="<h1>hello world!</h1>";
	var x=document.getElementsByTagName("div")[0];
	x.insertBefore(mydiv2,x.firstChild);
	//在hello,的前面添加<div><h1>hello world!</h1></div>
	x.removeChild(x.firstChild.nextSibling.nextSibling);
	//删除子元素<b></b>

	//两种形式给属性设置值
	var claNode=document.createAttribute("class");
	claNode.value="hello";
	x.setAttributeNode(claNode);

	x.setAttribute("ref","mydiv");

	var cla=x.getAttribute("class");
	var ref=x.getAttribute("ref");
	
	alert(cla+"-"+ref);
</script>
</body>

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值