本文主要是介绍JavaScript学习-DOM扩展_专有扩展,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
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 1 Item 2 Item 3
innerText的写入示例:
div.innerText = "Hell world!";
HTML代码就会变成如下所示
<div id="content">Hell world!</div>
- outerText属性
- 除了作用范围扩大到了包含调用它的节点之外,outerText与innerText基本上没有多大区别。
5,滚动
除了HTML5纳入规范的scrollIntoView()纳入规范,还有其他几个专有方法可以在不同的浏览器中使用,下面列出的几个方法都是对HTMLElement类型的扩展,在所有元素中都可以调用。
scrollIntoView()和scrollIntoViewIfNeeded()的作用对象是元素的容器,而scrollByLines()和scrollByPages()影响的则是元素自身。
这篇关于JavaScript学习-DOM扩展_专有扩展的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!