亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

如何判斷出一個js對象是否一個dom對象

 更新時間:2016年11月24日 09:16:02   投稿:jingxian  
如何判斷出一個js對象是否一個dom對象呢?下面小編就為大家?guī)硪黄袛喑鲆粋€js對象是否一個dom對象的方法。希望對大家有所幫助。一起跟隨小編過來看看吧

我們在寫js代碼時有時需要判斷某個對象是不是DOM對象,然后再進行后續(xù)的操作,這里我給出一種兼容各大瀏覽器,同時又算是比較穩(wěn)妥的一種方法。

要判斷一個對象是否DOM對象,首先想到的無非就是它是否具有DOM對象的各種屬性或特征,比如是否有nodeType屬性,有tagName屬性,等等。判斷的特征越多,也就越可靠,因為畢竟我們自定義的js對象也可以有那些屬性。還有其他方法嗎?

在DOM Level2標準中定義了一個HTMLElement對象,它規(guī)定所有的DOM對象都是HTMLElement的實例,所以我們可以利用這點來判斷一個對象是不是DOM對象:如果該對象是HTMLElement的實例,則它肯定是一個DOM對象。在不支持HTMLElement的瀏覽器中我們則還是使用特征檢測法。

<script type="text/javascript">
  //首先要對HTMLElement進行類型檢查,因為即使在支持HTMLElement
  //的瀏覽器中,類型卻是有差別的,在Chrome,Opera中HTMLElement的
  //類型為function,此時就不能用它來判斷了
  var isDOM = ( typeof HTMLElement === 'object' ) ?
        function(obj){
          return obj instanceof HTMLElement;
        } :
        function(obj){
          return obj && typeof obj === 'object' && obj.nodeType === 1 && typeof obj.nodeName === 'string';
        }
  </script>

以上就是小編為大家?guī)淼娜绾闻袛喑鲆粋€js對象是否一個dom對象全部內(nèi)容了,希望大家多多支持腳本之家~

相關(guān)文章

最新評論