DOM常见属性及用法

1:innerHTML、outerHTML、innerText、outerText

innerHTML: 设置或获取位于对象起始和结束标签内的HTML。

outerHTML: 设置或获取对象及其内容的HTML。

innerText: 设置或获取位于对象起始和结束标签内的文本。

outerText: 设置(包括标签)或获取(不包括标签)对象的文本。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>DOM</title>
</head>
<body>
    <ul id="test">
        <li><i>点击1</i></li>
        <li>点击2</li>
        <li>点击3</li>
        <li>点击4</li>
    </ul>
    <script type="text/javascript">
        var test = document.getElementById('test');
    var lis = test.getElementsByTagName('li');
    
    var handlers = function (nodes) {
        var i;
        for (i = 0; i < nodes.length; i += 1) {
            nodes[i].onclick = function(){
                console.log(this.innerHTML);
                console.log(this.outerHTML);
                console.log(this.innerText);
                console.log(this.outerText);
            }
        }
    };
    handlers(lis);
#results
//<i>点击1</i>
//<li><i>点击1</i></li>
//点击1
//点击1
    </script>
</body>
</html>

特别说明: 
  innerHTML是符合W3C标准的属性,而innerText只适用于IE浏览器,因此,尽可能地去使用innerHTML,而少用innerText,如果要输出不含HTML标签的内容,可以使用innerHTML取得包含HTML标签的内容后,再用正则表达式去除HTML标签。

 2:Javascript中取得某个元素的方法有:

getElementById('节点id')、getElementsByTagName('标签名')、getElementByName('name属性值');

3:添加、移除、创建元素、复制节点和查找节点以及判断节点类型:

添加:appendChild(newNode)向节点最后添加一个子节点。也可以从一个元素向另一个元素移动元素。参见http://www.w3school.com.cn/jsref/

移除:removeChild(node) 从元素中移除指定的子节点。

创建:creatElement(tagName)创建元素节点。此方法返回一个Element对象。

复制:node.cloneNode(deep)创建节点的拷贝,并返回该副本。deep为布尔值,默认为false,此时克隆节点的所有属性以及他们的值。设置为true时,克隆节点及其属性,以及所有后代。

posted @ 2016-08-03 08:51  Ninja_MM  阅读(777)  评论(0编辑  收藏  举报