JS 之DOM对象(2)

时间:2021-08-22 15:27:17

http://www.cnblogs.com/zourong/p/4792394.html 这篇文件介绍了DOM1中的一些属性和方法,下面的内容主要介绍DOM2和DOM3中新增的内容。

框架的变化

框架和内嵌框架分别用HTMLFrameElment和HTMLIFrameElement,DOM2中新定义了一个框架的属性contentDocument,是一个指向框架内容的文档对象的指针。contentDocument属性是Document类型的实例。IE8之前的版本不支持contentDocument,但是支持contentWindow属性,指向其window对象。所以获得框架文档对象的兼容写法如下:(访问框架或内嵌框架的文档对象时受到跨域的限制)

var iframe = document.getElementById('iframe');

var iframDoc = iframe.contentDocument || iframe.contentWindow.document;

或者

var iframeDoc = window.iframes[0].document;

样式

可通过style对象来访问元素的样式,style对象只能访问内联样式的属性,也就是样式加在元素的style标签里的。不能访问外部样式表或嵌入样式表层叠而来的样式:

eg:elem.style.color = '#f00';

elem.style.backgroundColor = '#f00';

elem.style.width = '100px';

style对象里有下列属性和方法:

cssText: 属性,style特性中所有的样式代码

length:属性,style中的样式属性的数量

removeProperty(propertyName):从样式列表中删除给性的属性

getPropertyValue(propertyName):返回给定属性名的样式value值

计算的样式通过document.defaultView.getComputedStyle()来获取。IE则通过elem.currentStyle属性来获取。

document.defaultView.getComputedStyle(elem,felem):第一个参数为要取得计算样式的元素节点,第二个参数表示伪元素字符串,可以为null。

eg:

var elem = document.getElementById('rblogmod');
document.defaultView.getComputedStyle(elem,null);

通过document.styleSheets属性可以获得页面上所有的样式表文件。通过cssRules或rules属性可以获得当前样式表文件的所有样式规则。

范围

document.createRange()方法可以选择文档中的某个区域。使用场景如用户在浏览器窗口中用鼠标拖动选中的区域。详细介绍请参考另一篇博文:http://www.cnblogs.com/zourong/p/4800922.html

总结自:《javascript 高级程序设计》