javascript中的DOM中Document 對象的重要api

  1. ownerDocument表示當前的document對象html

    var childElem = document.getElementById('testid');
    if(childElem.ownerDocument()==document)
    {
        alert('ownerDocument is document dom object');
    }

2.documentElement 表示當前的根節點htmljava

if(document.documentElement.tagName=='HTML')
{
    alert('document.documentElement is html dom obj');
}

3.srcElement表示事件觸發的直接對象瀏覽器

在js中一般要判斷被點擊的標籤是否是直接觸發者,這種方式也是防止事件冒泡的一種有效方式dom

childElem.onclick = function(evt){
	var e = evt || window.event;
	e.target = typeof(e.target)=='undefined'?e.srcElement:e.target; //兼容性調整
	
	if(e.target.tagName==this.tagName){
		//dosomething()
	  }
}

4.document.all獲取全部節點this

if(!(!!document.all.item))  //某些瀏覽器不支持item(i),須要咱們來從新定義一下
{
  document.all.item = function(i){
      return document.all[i];
  }
}

5.htmlDOMDocument獲取spa

if(!(!!document.all.item))
{
  document.all.item = function(i){
      return document.all[i];
  }
}
document.documentElement; 
document.all.item(0);
document.getElementsByTagName('html').item(0);

6.childNodes,children,parentNode,parentElement一般瀏覽器支持childNodes和parentNodecode

//無代碼

7.document.body,document.title,document.forms都是集合orm

//無代碼

8.document能夠根據form name屬性 表達直接操做form以及form中的input標籤htm

document.myform.username.type='text';

document['myform']['username'].type='text';

document.forms['myform'].username; 
//這裏有些奇怪,按理來講html中name能夠相同,但這裏只獲取第一個name=myform的表單

9.document.defaultView.getComputedStyle 與window.getComputedStyle等價,用於獲取currentStyle對象

var alpha = null;

if(navigator.userAgent.toLowerCase().indexOf('msie') != -1)
{
    alpha=elem.currentStyle.filter.indexOf("opacity=") >= 0?
    (parseFloat( elem.currentStyle.filter.match(/opacity=([^)]*)/)[1] )) + '':'100';
}else{
    alpha=100*elem.ownerDocument.defaultView.getComputedStyle(elem,null)['opacity'];
}

以上作法比較特殊,由於瀏覽器差別性致使

下面是一般作法

var    CStyle=document.defaultView?
        document.defaultView.getComputedStyle(element,null):
        element.currentStyle;


try doing it;

相關文章
相關標籤/搜索