JavaScript学习-DOM扩展_专有扩展

来源:互联网 发布:数控铣床四叶草的编程 编辑:程序博客网 时间:2024/05/20 04:10

1,介绍

  • 有大量专有的DOM扩展没有成为标准,但这并不是说它们将来不会被写进标准。

2,children属性

  • 这个属性是HTMLCollection的实例。
  • 只包含元素中同样还是元素的子节点,除此之外,children属性与childNodes没有什么区别。

3,contains()方法

  • 确定某个节点是不是另一个节点的后代。
  • 支持contains()方法的浏览器有IE、Firefox 9+、Safari、Opera和Chrome。
  • 使用DOM Level 3 compareDocumentPosition()也能够确定节点间的关系。返回一个表示该关系的位掩码(bitmask)。

    • 下表列出了这个位掩码的值。
      这里写图片描述
    • 对结果和16按位与,也可实现contains()方法效果。

      var result = document.documentElement.compareDocumentPosition(document.body);alert(!!result & 16);// 使用!!操作符会将该数值转换成布尔值,相当于boolin();
  • 通用的contains的函数

    function contains(refNode,otherNode){    if(typeof refNode.contains == "function" && (!client.engine.webkit) || client.engine.webkit >= 522)){        return refNode.contains(otherNode);    }else if(typeof refNode.compareDocumentPosition == "function"){        return !!(refNode.compareDocumentPosition(otherNode) & 16);    }else {        var node = otherNode.parentNode;        do {            if(node == refNode){                return true;            }else{                node = node.parentNode;            }        }while (node !== null);        return false;    }}

4,插入文本

  • innerHTML和outerHTML已经被HTML5纳入了规范,还有两个没有被HTML5纳入规范的属性innerText和outerText;
  • innerText属性

    • 代码说话

      <div> id="content">    <p>This is a<strong>paragraph</strong> with a list following it.</p>    <ul>        <li>Item 1</li>        <li>Item 2</li>        <li>Item 3</li>    </ul>                </div>
    • innerText属性会返回下列字符串:

      This is a paragraph with a list following it.Item 1Item 2Item 3
    • innerText的写入示例:

      div.innerText = "Hell world!";
    • HTML代码就会变成如下所示

      <div id="content">Hell world!</div>
  • outerText属性
    • 除了作用范围扩大到了包含调用它的节点之外,outerText与innerText基本上没有多大区别。

5,滚动

  • 除了HTML5纳入规范的scrollIntoView()纳入规范,还有其他几个专有方法可以在不同的浏览器中使用,下面列出的几个方法都是对HTMLElement类型的扩展,在所有元素中都可以调用。
    这里写图片描述

  • scrollIntoView()和scrollIntoViewIfNeeded()的作用对象是元素的容器,而scrollByLines()和scrollByPages()影响的则是元素自身。

0 0
原创粉丝点击