zoukankan      html  css  js  c++  java
  • JS/Javascript DOM 编程艺术(第2版)读书笔记 第3章 DOM

    首先解释一下什么是DOM(Document Object Model),文档对象模型。DOM结构很像我们的家谱树,用parent(父)、child(子)、sibling(兄弟)等来表示家庭中的成员。

    要获取一个DOM文档中的成员的有以下几个方法,通过节点ID,通过节点名,通过类名。
    例如:
    <div id="div1" class="divClass"></div>
    <script type="text/javascript">
    document.getElementById("div1"); //返回节点对象
    document.getElementsByTagName("div");//返回div集合
    document.getElementsByClassName("divClass");//返回className为divClass集合
    </script>

    其中getElementsByClassName 是HTML5中新加的方法,在一些浏览器中还没有的到使用,所以慎用该方法。
    写自己的getElementsByClassName:
    <script type="text/javascript">
    function getElementsByClassName(node, classname){
    if(node.getElementsByClassName){
    return node.getElementsByClassName(classname);
    }else{
    var arr = [];
    var nodes = node.getElementsByTagName("*");
    for(var i = 0, l = nodes.length; i < l; i++){
    if(nodes[i].indexOf(classname) != -1){
    arr.push(nodes[i]);
    }
    }
    return arr;
    }
    }
    </script>

    获取和设置节点属性的方法分别为:
    obj.setAttribute(attr);
    obj.getAttribute(attr);
    值得一提的是getAttribute获取href属性时在IE6和IE7下得到的是绝对路径,在其他浏览器下得到是相对路径。
    例如:

    <a id="home" href="/doc/index.html">home</a>
    <script type="text/javascript">
    var home = document.getElementById("home");
    var url = home.getAttribute("href");
    //标准浏览器下返回的是 /doc/index.html
    //IE6和IE7下返回的是(如开有服务器) http://www.hacktea8.com/doc/index.html
    alert(url); 
    </script>

    小结:
    本章学习,DOM最基本的5个方法,分别为:
    获取节点:
    getElementById();
    getElementsByTagName();
    getElementsByClassName(); // 只有新的浏览器支持该方法,写自己的getEelementsByClassName
    getAttribute(); // IE6和IE7 获取href和标准浏览器下不一致
    setAttribute();

  • 相关阅读:
    Python实现破解wifi密码8位(纯数字、数字与字母),并且记录破解开始和结束的时间
    WAPI相关了解及观点
    192.gulp-concat插件合并多个文件
    191.gulp处理JavaScript文件的任务
    190.gulp给文件重命名
    189.gulp创建处理css文件任务
    语句:{% url menu.url_name %}的作用
    Django2.0中的urlpattern匹配不输入任何网址时的写法
    python之函数递归
    python之全局变量与局部变量
  • 原文地址:https://www.cnblogs.com/zhongbin/p/3124033.html
Copyright © 2011-2022 走看看