码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScript DOM操作

时间:2015-06-30 12:33:09      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:

DOM是 Document Object Model的缩写,中文名称是文档对象模型,是W3C组织推荐的处理可扩展置标语言的标准编程接口,如果你对标准的详情比较感兴趣,请参见wiki百科上面的这篇文章《文档对象模型》,本文将介绍Javascript对DOM的基本操作。

Javascript获取DOM元素

1. getElementById(id) 

通过DOM元素的id属性来获取元素,这是最直接、最常用的方法。

使用getElementById(id)方法获取DOM元素要求我们的HTML文档中所有标签的id属性都不能重复(对于有良好变成习惯的程序员来说,id是不应该重复的),如果元素的id不是唯一,则会取得第一个该id名称的元素。

下面开看一个实例:

<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8" />
    <title>Javascript DOM操作实例 - 起飞网</title>
    <script type="text/javascript">
        function btn_onclick() {
            var ele = document.getElementById("message");
            ele.innerText = "欢迎访问起飞网!";
        }
    </script>
</head>
<body>
    <span id="message"></span>
    <input type="button" value="显示消息" onclick="btn_onclick()" />
</body>
</html>

在上面的代码中,我定义了一个id为message的span,用来显示消息。定义了一个类型为button的input标签,并为这个按钮添加了onclick事件,当单击按钮时,btn_onclick()方法将会被调用。

btn_onclick()方法会得到id为message的元素,然后将该元素的innerText属性修改为我们要显示的消息。

运行一下代码看看效果吧!

2. getElementsByName(name)

这是通过name来取得某一堆元素(作为数组),看 Element后面有个小s就知道了,ID是HTML文档中要求唯一的,name可以不是唯一,如checkbox、radio等地方会用到多个 input用同一个name来识别是否为一个分组。

注意,getElementsByName(name)仅用于取得input、radio、 checkbox等元素,如<input name="myradio" type="radio" />。

3. getElementsByTagName(tagname)

看这方法就知道这也是取得某一堆元素(作为数组),是通过TagName也就是标签名来取得。你可以遍历这个数组获得每一个单独的元素。

当一个DOM结构很大时,可以通过它来有效地缩小搜查范围

Javascript创建DOM节点

Javascript使用document.createElement(tagName)方法来创建一个节点。

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Javascript DOM操作实例 - 起飞网</title>
    <script type="text/javascript">
        function btn_onclick() {
            var divMain = document.createElement("div");
            document.body.appendChild(divMain);
            
            var eleSpan = document.createElement("span");
            eleSpan.innerText = "欢迎访问起飞网!";
            divMain.appendChild(eleSpan);
        } 
    </script>
</head>
<body>
    <input type="button" value="执行代码" onclick="btn_onclick()" />
</body>
</html>

在这段代码中,我们通过点击按钮来执行上面的代码。

代码的第一句,我们通过调用document.createElement(tagName)方法创建了一个div节点;然后将这个节点附加到body中。

然后创建了一个span节点,并将这个span节点附加到上面的div中,通过改变span的innerText属性来显示一句消息。

如果元素被创建了,但没有附加到文档节点中,那么这个节点是不会被显示在浏览器窗口中的。

Javascript移除DOM元素

在Javascript使用ele.removeChild(node) 从childNodes中删除node。

<div>
    <span>span1</span>
    <span>span2</span>
</div>
<script type="text/javascript">
    var eleSpan = document.body.getElementsByTagName("span")[0];
    eleSpan.parentNode.removeChild(eleSpan);
</script>

Javascript替换DOM元素

在Javascript使用ele.replaceChild(newNode,oldNode) 替换DOM元素,将oldNode替换为newNode。

<div>
    <span>span1</span>
    <span>span2</span>
</div>
<script type="text/javascript">
    var eleSpan3 = document.createElement("span");
    eleSpan3.innerText = "span3";
    var eleSpan = document.body.getElementsByTagName("span")[0];
    eleSpan.parentNode.replaceChild(eleSpan);
</script>

本文的内容涉及了Javascript对DOM最基本的添加、修改、删除和获取,在后面的章节中,我会介绍更多Javascript对DOM元素的操作,感谢您的关注!

JavaScript DOM操作

标签:

原文地址:http://www.cnblogs.com/Crow00/p/4609870.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!