一.样式编程
1.页面中的每一个元素都具有一个style对象,此对象管理元素的CSS样式。这是在IE4.0引入的,后来作为DOM标准被接受。使用方法:
var oDiv=document.getElementById("div1");
alert(oDiv.style.backgroundColor);
style对象拥有一个cssText属性,返回描述元素样式的CSS字符串。
2.样式对象style的方法(IE6并不支持这些方法):
(1) getPropertyValue(propertyName)——返回CSS特性propertName的字符串值,比如 this.style.getPropertyValue("background-color");这里的propertyName必须按照CSS的样式定义。
(2)getPropertyPriority()——返回important字符串或者为空
(3)item(index)——返回给定索引处的CSS特性名称
(4)removeProperty(propertyName)——移除某CSS特性
(5)setProperty(propertyName,value,priorty)——按照执行优先级设定CSS特性的值
3.通过隐藏层实现自定义鼠标提示的例子:
<html>
<head>
<title>Style Example</title>
<script type="text/javascript" src="detect.js"></script>
<script type="text/javascript" src="eventutil.js"></script>
<script type="text/javascript">
function showTip() {
var oDiv = document.getElementById("divTip1");
oDiv.style.visibility = "visible";
var oEvent=EventUtil.getEvent();
oDiv.style.left = oEvent.clientX + 5;
oDiv.style.top = oEvent.clientY + 5;
}
function hideTip() {
var oDiv = document.getElementById("divTip1");
var oEvent=EventUtil.getEvent();
oDiv.style.visibility = "hidden";
}
</script>
</head>
<body>
<p>Move your mouse over the red square.</p>
<div id="div1"
style="background-color: red; height: 50px; width: 50px"
onmouseover="showTip()" onmouseout="hideTip()"></div>
<div id="divTip1"
style="background-color: yellow; position: absolute; visibility: hidden; padding: 5px">
<span style="font-weight: bold">Custom Tooltip</span><br />
More details can go here.
</div>
</body>
</html>
这里使用了我在《javascript事件模型框架》中摘记的JS文件。实现可折叠区域的道理与此相同,很常用的功能,不再细说。
4.访问样式表,因为style对象只能访问一个元素的CSS样式,而对于<style/>定义的或者外部CSS文件定义的CSS规则没办法访问,这就引出了如何访问样式表的问题。我们可以通过下面的方式访问:
var cssRules=document.styleSheets[0].cssRules||document.styleSheets[0].rules;
document.styleSheets返回页面上所有样式表的引用,标准DOM中规定每个样式表的规则集合叫cssRules,而IE中叫rules,所以我们用上面的表达式来处理浏览器兼容问题。一个访问的例子:
<html>
<head>
<title>Accessing Style Sheets Example</title>
<style type="text/css">
div.special {
background-color: red;
height: 10px;
width: 10px;
margin: 10px;
}
</style>
<script type="text/javascript">
function changeBackgroundColor() {
var oCSSRules = document.styleSheets[0].cssRules || document.styleSheets[0].rules;
oCSSRules[0].style.backgroundColor = "blue";
}
</script>
</head>
<body>
<div id="div1" class="special"></div>
<div id="div2" class="special"></div>
<div id="div3" class="special"></div>
<input type="button" value="Change Background Color" onclick="changeBackgroundColor()" />
</body>
</html>
点击按钮时将三个div的背景色都设置为蓝色。
5.最终样式:顾名思义,就是样式规则(外部定义和内联的)综合计算之后呈现给用户的样式信息,用来告诉我们元素最终是如何显示在屏幕上的。IE和标准的DOM也有区别:
(1)IE中的最终样式称为currentStyle对象,与style对象不同的是它是只读的,你只能读而不能给它赋值。
(2)DOM中的最终样式,通过document.defaultView.getComputedStyle(元素对象,伪元素对象或者null)方法获得
二.innerHTML和innerText
很常用的功能,特别是在AJAX应用中,经常采用的手段是从服务端返回一小段HTML代码,通过innerHTML嵌入某个层当中来动态显示下拉框等。一个比较常见的用法:
oDiv.innertText=oDiv.innerText;
表示从指定元素中删除所有的HTML标签。
三.outerText和outerHTML
与innerHTML和innerText,不过替换的是整个目标节点,仅在IE和opera中支持此特性
四.范围
叫选区也许更为恰当,range用来选择文档的某个部分而不管节点的边界。也有两种的范围实现:DOM和IE的
1.DOM的range
(1)在DOM中创建选区的方法:
var supportDOMRange=document.implementation.hasFeature("Range","2.0");
if(supportDOMRange)
var oRange=document.createRange();
先判断是否支持DOM,然后使用createRange()方法创建范围
(2)简单选区
考虑下面的代码:
<p id="p1"><b>hello</b>world</p>
我们通过下面的JS代码来访问上面这段代码:
var oRange1=document.createRange();
var oRange2=document.createRange();
var op1=document.getElementById("p1");
oRange1.selectNode(op1);
oRange2.selectNodeContents(op1);
两个范围,通过selectNode和selectNodeContents方法来选区,有什么不同呢?oRange1选中的范围包括<p/>节点以及它的全部子节点,而oRange2只包含op1的子节点和文本节点(就是"<b>hello</b>world")。
分享到:
相关推荐
JavaScript DOM编程艺术第二版是一本深入探讨JavaScript与DOM(Document Object Model)交互的权威书籍,主要面向希望提升JavaScript客户端开发技能的程序员。DOM是Web页面的结构化表示,JavaScript通过DOM API可以...
7. 高级DOM技术:随着对DOM操作的深入,还可以学习到如何利用高级的DOM技术优化网页性能和提升用户体验。例如,DocumentFragment的使用、DOM优化技巧、跨浏览器兼容性处理等。 上述知识点构成了《JavaScript DOM...
本书讲述了JavaScript、DOM和HTML5的基础知识,着重介绍了DOM编程技术背后的思路和原则:平稳退化、渐进增强和以用户为中心等。这些概念对于任何前端Web开发工作都非常重要。本书将这些概念贯穿在书中的所有代码示例...
### 二、DOM概念详解 #### 2.1 DOM定义 DOM(Document Object Model,文档对象模型)是HTML或XML文档的一种树形结构表示法,它将文档视为节点树。通过DOM,开发者可以访问文档中的所有元素,并能对文档进行修改。...
第二章DOM数字产品制作技术,周立,共89p ,第二章DOM数字产品制作技术.pdf
JavaScript DOM编程艺术(第2版)是一本深受程序员喜爱的JavaScript技术书籍,专注于讲解如何使用JavaScript与Document Object Model(DOM)进行交互。DOM是Web页面的结构化表示,它允许我们通过编程方式操纵HTML和XML...
**二、高级DOM技术** 1. **遍历DOM**: 使用`childNodes`、`children`、`nextSibling`、`previousSibling`等属性进行元素的遍历,了解元素与其相邻或包含的兄弟节点的关系。 2. **DOM操作性能优化**: 避免频繁的DOM...
这个压缩包包含了Dom4J的三个不同版本的文件:文档的Java API注解(javadoc)、源代码(sources)以及编译后的二进制库(jar)。 【描述】Dom4J的核心功能是提供了一个灵活且高效的API来创建、解析、修改和展示XML...
javascript入门必备,本书讲述了JavaScript和DOM的基础知识,但重点放在DOM编程技术背后的思路和原则:预留退路、循序渐进和以用户为中心等,这些概念对于任何前端Web开发工作都非常重要。本书将这些概念贯穿在书中...
由于提到了“第二版”,我们可以推测这是一个经典教程的更新版本,旨在指导JavaScript新手入门。DOMScripting: Web Design with JavaScript and the Document Object Model: Second Edition这本书是Jeremy Keith与...
《JavaScript DOM编程艺术(第二版)》是一本深入讲解JavaScript与DOM交互的权威书籍,它包含了大量的实践示例和源代码,旨在帮助读者理解和掌握如何有效地操纵网页文档对象模型(DOM)。DOM是Web开发中的核心部分,它...
《JavaScript DOM编程艺术第二版高清(中文)》是一本深入探讨JavaScript、DOM(Document Object Model)和HTML5的权威指南,特别适合Web开发人员作为学习和提升技能的参考资料。本书内容丰富,涵盖了大量的实践知识...
【第二章 DOM 数字产品制作技术】 DOM,全称为Digital Orthophoto Map,即数字正射影像图,是通过将航空或卫星遥感影像进行几何校正,使其具有地图的特性,即像元与地面点一一对应,无透视变形。DOM广泛应用于地理...
《DOM编程艺术》是一本深入探讨Document Object Model(DOM)编程技术的专业书籍,结合源码一同提供,旨在帮助读者全面理解和掌握DOM相关的JavaScript技术。DOM是Web开发中的核心部分,它定义了HTML和XML文档的结构...
附录通常包括对书中概念的补充解释、技术参考或实用工具,而源码则展示了实际应用中的编程技巧。对于JavaScript初学者和进阶开发者来说,这些都是非常宝贵的资源。以下是几个主要的知识点: 1. **JavaScript基础**...
### DOM4J 技术文档教程 #### 一、DOM4J 概述 DOM4J(Document Object Model for XML)是一种轻量级、高效、功能丰富的Java API,用于处理XML文档。它提供了简单易用的接口来读取、写入、修改XML文档。DOM4J是一个...
可以考虑使用虚拟DOM技术或Web Workers分担计算压力。 总结,遍历DOM元素是前端开发中的常见任务,掌握不同的遍历方法及其应用场景,能有效提高代码质量和性能。理解DOM遍历的原理并合理运用,是提升前端开发能力的...
总的来说,C#使用dom-to-image生成图片并保存到服务器的过程涉及到了前端技术的集成、跨语言通信以及服务器端的文件操作,对开发者的技术栈有较高的要求。熟练掌握这些技术可以帮助我们构建更强大、更灵活的应用。
### 基于Jscript脚本技术的SVG文档的DOM解析 #### 摘要与背景 本文主要探讨了SVG(可缩放矢量图形)文档的DOM(文档对象模型)编程接口,并提出了一种利用Jscript脚本技术和中间层“数据池”对SVG文档进行DOM解析...