`
Vksnail
  • 浏览: 42520 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

DOM技术(二)

阅读更多

一.样式编程
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和HTML5的基础知识,着重介绍了DOM编程技术背后的思路和原则:平稳退化、渐进增强和以用户为中心等。这些概念对于任何前端Web开发工作都非常重要。本书将这些概念贯穿在书中的所有代码示例...

    第二章DOM数字产品制作技术

    第二章DOM数字产品制作技术,周立,共89p ,第二章DOM数字产品制作技术.pdf

    DOM(二).pdf

    DOM(二)

    第二章DOM数字产品制作技术.pptx

    第二章DOM数字产品制作技术.pptx

    JavaScriptDOM编程艺术(第2版)PDF版本下载.txt

    JavaScriptDOM编程艺术(第2版)PDF版本下载

    计算机应用技术第6章-DOM编程.pptx

    计算机应用技术第6章-DOM编程 本章节主要讲解了DOM编程的基本概念和应用,包括DOM树结构、节点类型、节点关系、DOM标准接口、Core DOM和HTML DOM的使用等。通过学习本章节,读者可以了解DOM模型的基本概念、DOM树...

    JavaScript_DOM编程艺术第二版(中文).pdf

    JavaScript都是必须掌握的技术。W3C的DOM标准是开发Web应用的基石。已经得到所有现代浏览器的支持,这使得跨平台Web开发成了一件轻松惬意的事。 本书是超级畅销书的升级版,由倡导Web标准的领军人物执笔,揭示了...

    DOM通用决策分析数据处理系统

    DOM是一个通用的数据二次处理系统。如果说数据库是完成对数据的存储和管理,那么DOM就相当于一个高效的数据加工工厂对来自于数据库中的原始数据进行分析、运算和加工,得到最终有价值的数据,并且以直观的形式呈现给...

    JavaScript+DOM编程艺术(二)

    知识之后,通过几个实例演示了大师级的网页开发技术,并透彻阐述了。。。 第1章 JavaScript简史  1.1 JavaScript的起源  1.2 浏览器之争  1.3 制定标准  1.4 小结 第2章 JavaScript语法  2.1 准备...

    JavaScript DOM编程艺术 第二版

    本 书在简洁明快地讲述JavaScript和DOM的基本知识之后,通过几个实例演示了专业水准的网页开发技术,透彻阐述了平稳退化等一批至关重要的 JavaScript编程原则和最佳实践,并全面探讨了HTML5以及jQuery等JavaScript库...

    JavaScript.DOM编程艺术(第2版)(书签)mobile

    本书讲述了JavaScript、DOM 和HTML5 的基础知识,着重介绍DOM 编程技术背后的思路和原则:平稳退化、渐进增强和以用户为中心等。这些概念对于任何前端Web 开发工作都非常重要。本书将这些概念贯穿在书中的所有代码...

    [JavaScript.DOM高级程序设计](加)桑贝斯.扫描版.part1.rar

    第二部分 浏览器外部通信  第7章 向应用程序中加入Ajax   7.1 组合的技术   7.1.1 语义化XHTML和DOM   7.1.2 JavaScript和XMLHttpRequest对象   7.1.3 XML   7.1.4 一个可重用的对象   7.1.5 ...

    JavaScript之DOM编程艺术(高清中文第二版305页)

    本 书在简洁明快地讲述JavaScript和DOM的基本知识之后,通过几个实例演示了专业水准的网页开发技术,透彻阐述了平稳退化等一批至关重要的 JavaScript编程原则和最佳实践,并全面探讨了HTML5以及jQuery等JavaScript库...

    javascript DOM 编程艺术(第二版)

    本 书在简洁明快地讲述JavaScript和DOM的基本知识之后,通过几个实例演示了专业水准的网页开发技术,透彻阐述了平稳退化等一批至关重要的 JavaScript编程原则和最佳实践,并全面探讨了HTML5以及jQuery等JavaScript库

    JavaScript DOM高级程序设计 Part II

    第十二章 案例研究:用DOM设计选择列表 12.1 经典的感觉 12.2 构建更好的选择列表 12.3 策略?我们不需要臭烘烘的策略 12.4 添加事件--为人造select赋予生命 12.5 让表单绽放光彩 12.6 行为修正 ...

    JavaScript DOM高级程序设计 Part I

    第十二章 案例研究:用DOM设计选择列表 12.1 经典的感觉 12.2 构建更好的选择列表 12.3 策略?我们不需要臭烘烘的策略 12.4 添加事件--为人造select赋予生命 12.5 让表单绽放光彩 12.6 行为修正 ...

    JavaScript:DOM编程艺术(第2版)

    《javascript dom编程艺术:第2版》讲述了javascript、dom 和html5 的基础知识,着重介绍dom 编程技术背后的思路和原则:平稳退化、渐进增强和以用户为中心等。这些概念对于任何前端web 开发工作都非常重要。本书将...

Global site tag (gtag.js) - Google Analytics