DOM对象(文档对象模型)
HTML DOM 是 W3C 标准(是 HTML 文档对象模型的英文缩写,Document Object Model for HTML)。HTML DOM 定义了用于 HTML 的一系列标准的对象,以及访问和处理 HTML 文档的标准方法。通过 DOM,可以访问所有的 HTML 元素,连同它们所包含的文本和属性。可以对其中的内容进行修改和删除,同时也可以创建新的元素。

方法
2.1 document.getElementById("elementID");

定义和用法:
- 返回对拥有指定 ID 的第一个对象的引用
- 如果没有指定 ID 的元素返回 null

2.2 document.getElementsByTagName("tagname");

定义和用法:
- 返回带有指定标签名的对象的集合
- 参数值 "*" 返回文档的所有元素
- 返回的集合对象拥有 length 属性,并且可以通过 Index 来访问集合中的元素

2.3 document.getElementsByName("name");

定义和用法:
- 返回带有指定名称的对象的集合
- 返回的集合对象拥有 length 属性,并且可以通过 Index 来访问集合中的元素
- 存在兼容性问题(该方法适用于表单操作)
>IE 浏览器中,如果name存在于form表单中,可以正常使用,但是如果出现在例如div元素中,则不能正常返回值,原因是name并不是div的标准属性
>CHROM, FIREFOX 均正常

2.4 document.getElementsByClassName("classname");

定义和用法:
- 返回文档中所有指定类名的元素集合
- 返回的集合对象拥有 length 属性,并且可以通过 Index 来访问集合中的元素
- 存在兼容性问题(FF,CHROM 支持该方法,IE不支持)
解决办法:
```
function getElesByClassName(className) {
    var arr = [];
    if(document.getElementsByClassName) {
        return document.getElementsByClassName(className);
    } else {
        var tags = document.getElementsByTagName("*");
        for(var i = 0; i < tags.length; i++) {
            if(tags[i].className == className) {
                arr.push(tags[i]);
            }
        }
        return arr;
    }
}
3. 对象集合
3.1 all
所有对象的集合,常用来做兼容性判断
3.2 forms
所有form表单集合
console.log(document.forms.length);

通过 index 来访问表单对象
document.forms[0];

通过表单的 name 属性来访问表单对象
document.forms["name"];

4. 操作元素内容
4.1 innerHTML: 设置或获取标签对中的内容( 识别HTML )
4.2 innerText: 获取文字内容( IE ) textContent: 获取文字内容(FF,chrom)
function getContent(obj, val) {
    if(document.all) {
        if(val) {
            obj.innerText = val;
        } else {
            return obj.innerText;
        }
    } else {
        if(val) {
            obj.textContent = val;
        } else {
            return obj.textContent;
        }
    }
}
5. 属性操作
5.1 直接操作
object.attr = value ( 获取和设置 )
5.2 方法
获取: object.getAttribute("attr")
设置: 对象.setAttribute("attr", "value")
6. 样式操作
6.1 行内样式
设置和获取: object.style.attr 示例: hover
html:
<a id="one" href="#" style="color: red; padding: 3px;">跳转</a>
javascript:
(function() {
    var one = document.getElementById("one");
    one.onmouseover = function() {
        this.style.color = "blue";
        this.style.backgroundColor = "red";
    };
    one.onmouseout = function() {
        this.style.color = "red";
        this.style.backgroundColor = "blue";
    };
}());
6.2 css层叠样式
通过 className 修改样式
获取或修改某个属性的值(兼容性问题)
<table style='width:800px;font-size:14px;text-align:center;'><tr><th>属性</th><th>描述</th></tr><tr><td>document.styleSheets</td><td>返回样式表的集合</td></tr><tr><td>document.styleSheets[index].rules / document.styleSheets[index].cssRules</td><td>返回样式表中选择器的集合</td></tr><tr><td>document.styleSheets[index].rules[index].style.attr</td><td>查找样式表中的样式属性(**ie chrom**)</td></tr><tr><td>document.styleSheets[index].cssRules[index].style.attr</td><td>查找样式表中的样式属性(**firefox**)</td></table>
动态添加或删除
document.styleSheets[index].insertRule("selector{attr:value}", index);
document.styleSheets[index].deleteRule(index);
document.styleSheets[index].addRule("selector","attr:value", index);
document.styleSheets[index].removeRule(index);
6.3 获取最终样式(只能获取,不能操作)
object.currentStyle.attr ( IE )
window.getComputedStyle(object,null).attr ( W3C )
6.4 获得元素尺寸(可直接运算)
clientWidth/clientHeight: 元素可视部分的高度和宽度(width + padding)
offsetWidth/offsetHeight: 元素实际的高度和宽度(width+padding+border)

初探Javascript之DOM的更多相关文章

  1. 初探JavaScript(四)——作用域链和声明提前

    前言:最近恰逢毕业季,千千万万的学生党开始步入社会,告别象牙塔似的学校生活.往往在人生的各个拐点的时候,情感丰富,感触颇深,各种对过去的美好的总结,对未来的展望.与此同时,也让诸多的老“园”工看完这些 ...

  2. 初探JavaScript(三)——JS带我"碰壁"带我飞

    已经写了两篇关于小白的JavaScript之行,不可否认,每一种语言都有其精华与糟粕之处,来不及细细体味其精华奥妙,也没法对其评头论足,只能先了解,后深入.到目前为止已经看完<JavaScrip ...

  3. 初探JavaScript(二)——JS如何动态操控HTML

    除去五一三天,我已经和<JavaScript Dom编程艺术>磨合了六天,第一印象很好.慢慢的,我发现这是一块排骨,除了肉还有骨头.遇到不解的地方就会多看几遍,实在不懂的先跳过,毕竟,初次 ...

  4. 初探JavaScript(一)——也谈元素节点、属性节点、文本节点

    Javascript大行其道的时候,怎么能少了我来凑凑热闹^_^ 基本上自己对于js的知识储备很少,先前有用过JQuery实现一些简单功能,要论起JS的前世今生,来龙去脉,我就一小白.抱起一本< ...

  5. javascript --- javascript与DOM

    javascript与DOM: 我们来个例子,一个HTML里包含一段文本和一个无序的列表. <p id="intro">My first paragraph...< ...

  6. JavaScript与DOM

    文档对象模型Document Object Model DOM(Document Object Model,文档对象模型)是一个通过和JavaScript进行内容交互的API.Javascript和D ...

  7. Javascript中DOM技术的的简单学习

    第十四课DOM技术概述1:DOM概述 文档对象模型DOM(Document Object Model)定义访问和处理HTML文档的标准方法.DOM 将HTML文档呈现为带有元素.属性和文本的树结构(节 ...

  8. JavaScript与DOM的关系

    JavaScript与浏览器的工作 1.浏览器获取并加载你的页面,从上至下解析它的内容. 遇到JavaScript时,浏览器会解析代码,检查它的正确性,然后执行代码. 浏览器还会建立一个HTML页面的 ...

  9. JavaScript网站设计实践(四)编写about.html页面,利用JavaScript和DOM,选择性的显示和隐藏DIV元素

    一.现在我们在网站设计(三)的基础上,来编写about.html页面. 这个页面要用到的知识点是利用JavaScript和DOM实现选择性地显示和隐藏某些DIV about.html页面在前面我们为了 ...

随机推荐

  1. java设计模式------建造者模式

    建造者模式(Builder),将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示. 类图 描述 Builder:定义一个建造者抽象类,以规范产品对象的各个组成部分的建造.这个接口 ...

  2. 配置Hibernate的二级缓存

    1.在applicationContex.xml文件里面添加二级缓存配置: <!-- 配置hibernate的sessionFactory --> <bean id="se ...

  3. Linux下安装配置jdk

    步骤: 1.去官网下载jdk压缩包 网址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151. ...

  4. 解决C盘中的文件不能修改问题

    在不能修改的文件右击属性>点击安全>编辑>点击用户>完全控制. 步骤如图: 最后点击确定.

  5. 爬取博主所有文章并保存到本地(.txt版)--python3.6

    闲话: 一位前辈告诉我大学期间要好好维护自己的博客,在博客园发布很好,但是自己最好也保留一个备份. 正好最近在学习python,刚刚从py2转到py3,还有点不是很习惯,正想着多练习,于是萌生了这个想 ...

  6. Flask 学习 十 博客文章

    提交和显示博客文章 app/models.py 文章模型 class Post(db.Model): __tablename__ = 'posts' id = db.Column(db.Integer ...

  7. OpenGL中怎么把世界坐标系变成屏幕坐标系

    对这个3D坐标手动进行OpenGL的四个变换,得到的结果就是屏幕上的像素坐标.前三个变换(Model, View, Projection)都是4x4矩阵,操作对象是四维向量,所以需要把(100, 10 ...

  8. Mysql必须知道的知识

    最近在准备面试,所以也整理了一些Mysql数据库常用的知识,供大家参考. 1.MySQL的复制原理以及流程 (1).复制基本原理流程 1. 主:binlog线程--记录下所有改变了数据库数据的语句,放 ...

  9. STM32常见问题

    一.STM32 下不了程序 提示: (1).JLink Info: CPU halted Erase Done. Programming Failed! 解决办法: 用isp把芯片全部擦除再试试,如果 ...

  10. Python爬虫之urllib模块2

    Python爬虫之urllib模块2 本文来自网友投稿 作者:PG-55,一个待毕业待就业的二流大学生. 看了一下上一节的反馈,有些同学认为这个没什么意义,也有的同学觉得太简单,关于Beautiful ...