HTML DOM 之一:访问、修改、删除HTML内容

什么是 DOM?

DOM 是 W3C(万维网联盟)的标准。

DOM 定义了访问 HTML 和 XML 文档的标准:

“W3C 文档对象模型 (DOM) 是中立于平台和语言的接口,它允许程序和脚本动态地访问和更新文档的内容、结构和样式。”

W3C DOM 标准被分为 3 个不同的部分:

  • 核心 DOM - 针对任何结构化文档的标准模型
  • XML DOM - 针对 XML 文档的标准模型
  • HTML DOM - 针对 HTML 文档的标准模型

编者注:DOM 是 Document Object Model(文档对象模型)的缩写。

 

 

1、getElementById

<!DOCTYPE html>
<html>
<body>

<p id="intro">Hello World!</p>
<p> DOM很有用 </p>

<p style="color: red; margin-left: 20px">
1、getElementById的例子开始:
</p>
<!--getElementById-->
<script>
x=document.getElementById("intro");
document.write("innnerHTML="+x.innerHTML);
document.write("<p></p>");
document.write("firstChild.nodeValue="+x.firstChild.nodeName);
document.write("<p></p>");
document.write("firstChild.nodeValue="+x.firstChild.nodeValue);
document.write("<p></p>");
document.write("firstChild.nodeType="+x.firstChild.nodeType);
document.write("<p></p>");
</script>

</body>
</html>

  

2、getElementsByTagName

<!DOCTYPE html>
<html>
<body>

<p style="color: green; margin-left: 20px">
2、getElementsByTagName的例子开始:
</p>
<!--getElementsByTagName-->
<script>
x=document.getElementsByTagName("p");
document.write("x[1].innerHTML="+x[0].innerHTML);
</script>


<div id="main">
<p>DOM 很有用!</p>
<p>本例演示 <b>getElementsByTagName</b> 方法。</p>
</div>

<script>
x=document.getElementById("main").getElementsByTagName("p");
document.write("div 中的第一段的文本: " + x[0].innerHTML);
</script>
</body>
</html>

  

3、修改HTML元素

<!DOCTYPE html>
<html>
<body>

<p style="color: rgb(0,0,255); margin-left: 20px">
3、修改 HTML 元素的例子开始
</p>
<!--修改 HTML 元素-->
<p id="p1">Hello World!</p>

<script>
document.getElementById("p1").innerHTML="New text!";
</script>

<p style="color: rgb(255,255,0); margin-left: 20px">

</body>
</html>

  

4、向HTML DOM中添加新元素

<!DOCTYPE html>
<html>
<body>

<p style="color: rgb(255,255,0); margin-left: 20px">
4、向 HTML DOM 添加新元素的例子开始
</p>
<!--向 HTML DOM 添加新元素-->
<div id="div1">
<p id="p1">This is a paragraph.</p>
<p id="p2">This is another paragraph.</p>
</div>

<!--如需向 <p> 元素添加文本,您首先必须创建文本节点,
然后您必须向 <p> 元素追加文本节点,
最后,您必须向已有元素追加这个新元素。
-->
<script>
var para=document.createElement("p");
var node=document.createTextNode("This is new.");
para.appendChild(node);

var element=document.getElementById("div1");
element.appendChild(para);
</script>

</body>
</html>

  

5、删除HTML元素

<!DOCTYPE html>
<html>
<body>

<p style="color: rgb(0,255,255); margin-left: 20px">
5、删除已有的 HTML 元素的例子开始
</p>
<div id="div2">
<p id="p1">This is a paragraph.</p>
<p id="p2">This is another paragraph.</p>
</div>

<script>
var parent=document.getElementById("div2");
var child=document.getElementById("p1");
parent.removeChild(child);
</script>

</body>
</html>

  

提示:能否在不引用父元素的情况下删除某个元素?

很抱歉。DOM 需要了解您需要删除的元素,以及它的父元素。

这里提供一个常用的解决方法:找到您需要删除的子元素,然后使用 parentNode 属性来查找其父元素:

var child=document.getElementById("p1");
child.parentNode.removeChild(child);

 

6、替换元素

<!DOCTYPE html>
<html>
<body>

<p style="color: rgb(0,255,255); margin-left: 20px">
6、替换元素的例子开始
</p>
<div id="div3">
<p id="p1">This is a paragraph.</p>
<p id="p2">This is another paragraph.</p>
</div>

<script>
var parent=document.getElementById("div3");
var child=document.getElementById("p1");
var para=document.createElement("p");
var node=document.createTextNode("This is new.");
para.appendChild(node);
parent.replaceChild(para,child);
</script>

</body>
</html>

  

 

 

posted on 2013-08-26 14:14  gogoy  阅读(558)  评论(0编辑  收藏  举报

导航