初探Javascript之DOM
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的更多相关文章
- 初探JavaScript(四)——作用域链和声明提前
前言:最近恰逢毕业季,千千万万的学生党开始步入社会,告别象牙塔似的学校生活.往往在人生的各个拐点的时候,情感丰富,感触颇深,各种对过去的美好的总结,对未来的展望.与此同时,也让诸多的老“园”工看完这些 ...
- 初探JavaScript(三)——JS带我"碰壁"带我飞
已经写了两篇关于小白的JavaScript之行,不可否认,每一种语言都有其精华与糟粕之处,来不及细细体味其精华奥妙,也没法对其评头论足,只能先了解,后深入.到目前为止已经看完<JavaScrip ...
- 初探JavaScript(二)——JS如何动态操控HTML
除去五一三天,我已经和<JavaScript Dom编程艺术>磨合了六天,第一印象很好.慢慢的,我发现这是一块排骨,除了肉还有骨头.遇到不解的地方就会多看几遍,实在不懂的先跳过,毕竟,初次 ...
- 初探JavaScript(一)——也谈元素节点、属性节点、文本节点
Javascript大行其道的时候,怎么能少了我来凑凑热闹^_^ 基本上自己对于js的知识储备很少,先前有用过JQuery实现一些简单功能,要论起JS的前世今生,来龙去脉,我就一小白.抱起一本< ...
- javascript --- javascript与DOM
javascript与DOM: 我们来个例子,一个HTML里包含一段文本和一个无序的列表. <p id="intro">My first paragraph...< ...
- JavaScript与DOM
文档对象模型Document Object Model DOM(Document Object Model,文档对象模型)是一个通过和JavaScript进行内容交互的API.Javascript和D ...
- Javascript中DOM技术的的简单学习
第十四课DOM技术概述1:DOM概述 文档对象模型DOM(Document Object Model)定义访问和处理HTML文档的标准方法.DOM 将HTML文档呈现为带有元素.属性和文本的树结构(节 ...
- JavaScript与DOM的关系
JavaScript与浏览器的工作 1.浏览器获取并加载你的页面,从上至下解析它的内容. 遇到JavaScript时,浏览器会解析代码,检查它的正确性,然后执行代码. 浏览器还会建立一个HTML页面的 ...
- JavaScript网站设计实践(四)编写about.html页面,利用JavaScript和DOM,选择性的显示和隐藏DIV元素
一.现在我们在网站设计(三)的基础上,来编写about.html页面. 这个页面要用到的知识点是利用JavaScript和DOM实现选择性地显示和隐藏某些DIV about.html页面在前面我们为了 ...
随机推荐
- ansible自动化运维
ansible 系统架构 ansible简介 ansible是新出现的自动化运维工具,ansible是一个配置管理和应用部署工具,基于Python开发,集合了众多运维工具(puppet.cfengin ...
- 记一次mysql故障处理
突然间,个人网站崩溃了!相信这个报错作为运维都应该清楚的,是数据库宕机了. 数据库我采用mysql 5.1.63,上机查看错误日志: 171010 10:11:01 mysqld_safe Start ...
- 关于如何在mac系统上安装Git并在码市上建立项目
对Git一窍不通,为了在mac系统上安装Git,查了很多资料,走了很多弯路,一切搞定后发现其实很简单. 1.在https://brew.sh上按要求安装Homebrew. 2.在电脑终端键入brew ...
- 铜齿铁牙UP计划
铜齿铁牙UP计划 我在""做教练"之好声音训练"给出了老师.播音主持学习者,声乐学习者科学用声三要点: 用气发声 共鸣发声 虚实结合 用气发声首先要学会腹式呼吸 ...
- C语言嵌套循环
题目一:7-3 编程打印空心字符菱形 1.提交列表 2.设计思路: 1.定义整型变量循环控制变量i,j,k,x,y,z,e及菱形的高度height: 2.定义字符型变量letter: 3.输入字符型变 ...
- C语言--第三周作业
一.PTA作业中4个题目 1.7-9 A乘以B 要求:输入的两个整数:A是你学号前两位数字,B是你学号后两位数字 a.代码 #include <stdio.h> int main () { ...
- POST请求的提交
var http = require("http"); var querystring = require("querystring"); //创建服务器 va ...
- python pip包管理
pip 是一个安装和管理 Python 包的工具 , 是 easy_install 的一个替换品.本文将详细说明 安装 pip 的方法和 使用 pip 的一些基本操作如安装.更新和卸载 python ...
- 【iOS】swift-ObjectC 在iOS 8中使用UIAlertController
iOS 8的新特性之一就是让接口更有适应性.更灵活,因此许多视图控制器的实现方式发生了巨大的变化.全新的UIPresentationController在实现视图控制器间的过渡动画效果和自适应设备尺寸 ...
- 韩顺平dedecms讲解上课记录
感谢韩顺平: 如何打开php的gd库,通过php设置->php扩展-->phpdb库;打上勾就行: dede存在四张十分重要的表,channeltype,模型表最原始的发源arctype: ...