最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

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

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

<script type="text/javascript">
  //首先要對HTMLElement進(jìn)行類型檢查,因為即使在支持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)文章

  • 基于js實現(xiàn)抽紅包并分配代碼實例

    基于js實現(xiàn)抽紅包并分配代碼實例

    這篇文章主要介紹了基于js實現(xiàn)抽紅包并分配代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-09-09
  • JS高級筆記

    JS高級筆記

    JS高級筆記,學(xué)習(xí)js的朋友可以參考下。
    2011-07-07
  • 頁面向下滾動ajax獲取數(shù)據(jù)的實現(xiàn)方法(兼容手機(jī))

    頁面向下滾動ajax獲取數(shù)據(jù)的實現(xiàn)方法(兼容手機(jī))

    下面小編就為大家?guī)硪黄撁嫦蛳聺L動ajax獲取數(shù)據(jù)的實現(xiàn)方法(兼容手機(jī))。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-05-05
  • 微信小程序?qū)崿F(xiàn)自定義底部導(dǎo)航

    微信小程序?qū)崿F(xiàn)自定義底部導(dǎo)航

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)自定義底部導(dǎo)航,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • 如何在JavaScript中使用map()迭代數(shù)組詳細(xì)步驟

    如何在JavaScript中使用map()迭代數(shù)組詳細(xì)步驟

    在JavaScript中循環(huán)迭代數(shù)組的方法有很多種,下面這篇文章主要給大家介紹了關(guān)于如何在JavaScript中使用map()迭代數(shù)組的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-02-02
  • 搞定immutable.js詳細(xì)說明

    搞定immutable.js詳細(xì)說明

    Immutable Data是指一旦被創(chuàng)造后,就不可以被改變的數(shù)據(jù)。通過使用Immutable Data,可以讓我們更容易的去處理緩存、回退、數(shù)據(jù)變化檢測等問題,簡化我們的開發(fā)
    2016-05-05
  • JS中三目運(yùn)算符和if else的區(qū)別分析與示例

    JS中三目運(yùn)算符和if else的區(qū)別分析與示例

    本文是通過示例詳細(xì)分析了JS中三目運(yùn)算符和if else的區(qū)別,是篇非常不錯的文章,這里推薦給大家。
    2014-11-11
  • JavaScript模塊化原理深入分析

    JavaScript模塊化原理深入分析

    JavaScript中的模塊化是指將每個js文件會被認(rèn)為單獨(dú)一個的模塊。模塊之間是互相不可見的。如果一個模塊需要使用另一個模塊,那么需要通過指定語法來引入要使用的模塊,而且只能使用引入模塊所暴露的內(nèi)容
    2022-11-11
  • js 通過html()及text()方法獲取并設(shè)置p標(biāo)簽的顯示值

    js 通過html()及text()方法獲取并設(shè)置p標(biāo)簽的顯示值

    這篇文章主要介紹了js 通過html()及text()方法獲取并設(shè)置p標(biāo)簽的顯示值,需要的朋友可以參考下
    2014-05-05
  • 一文詳解如何用原型鏈的方式實現(xiàn)JS繼承

    一文詳解如何用原型鏈的方式實現(xiàn)JS繼承

    JavaScript中,每當(dāng)創(chuàng)建一個對象,都會給這個對象提供一個內(nèi)置對象 [[Prototype]] 。這個對象就是原型對象,[[Prototype]] 的層層嵌套就形成了原型鏈。本文將詳細(xì)講解如何用原型鏈的方式實現(xiàn)一個 JS 繼承,感興趣的可以了解下
    2022-04-04

最新評論

疏勒县| 九寨沟县| 潼关县| 天水市| 囊谦县| 长乐市| 堆龙德庆县| 太仓市| 中牟县| 平安县| 徐州市| 乌审旗| 福海县| 都江堰市| 隆子县| 哈巴河县| 和静县| 连城县| 容城县| 桃江县| 西峡县| 磴口县| 花垣县| 武陟县| 台北市| 易门县| 从江县| 光泽县| 邵武市| 易门县| 即墨市| 怀远县| 南召县| 郴州市| 白玉县| 越西县| 沙坪坝区| 界首市| 天全县| 静海县| 杭州市|