麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JavaScript > 正文

如何判斷元素是否為HTMLElement元素

2019-11-20 21:30:48
字體:
來源:轉載
供稿:網友

我們經常使用nodeType==1判斷元素是否是一個HMTLElement元素。頁面上的元素都是節點(Node),有元素節點(Element Node)、屬性節點(Attribute Node)、文本節點(Text Node)等。w3c nodeType 的定義如下

const unsigned short ELEMENT_NODE = 1;
const unsigned short ATTRIBUTE_NODE = 2;
const unsigned short TEXT_NODE = 3;
const unsigned short CDATA_SECTION_NODE = 4;
const unsigned short ENTITY_REFERENCE_NODE = 5;
const unsigned short ENTITY_NODE = 6;
const unsigned short PROCESSING_INSTRUCTION_NODE = 7;
const unsigned short COMMENT_NODE = 8;
const unsigned short DOCUMENT_NODE = 9;
const unsigned short DOCUMENT_TYPE_NODE = 10;
const unsigned short DOCUMENT_FRAGMENT_NODE = 11;
const unsigned short NOTATION_NODE = 12;


但如果我們自定義的對象也包含nodeType屬性呢?如

復制代碼 代碼如下:

var obj = {nodeType:1};
function isHTMLElement(obj){
    if(obj.nodeType){
        return obj.nodeType==1;
    }
}
isHTMLElement(obj);//true

以上isHTMLElement(obj)返回true,但obj明顯不是一個HTML節點元素。下面通過對象特性及try-catch語句來判斷。
復制代碼 代碼如下:

function isHTMLElement(obj){
    var d = document.createElement("div");
    try{
        d.appendChild(obj.cloneNode(true));
        return obj.nodeType==1?true:false;
    }catch(e){
        return false;
    }
}
var obj1 = {nodeType:1};
var obj2 = document.createTextNode("hello");
var obj2 = document.createElement("p");
isHTMLElement(obj1);//false
isHTMLElement(obj2);//false
isHTMLElement(obj3);//true

對于window和document還要特別處理下
復制代碼 代碼如下:

function isHtmlControl(obj) { 

    var d = document.createElement("div");
    try{
        d.appendChild(obj.cloneNode(true));
        return obj.nodeType==1 ? true : false;
    }catch(e){
        return obj==window || obj==document;
    }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产精品美女久久久免费 | 九九热在线观看视频 | 最新精品在线 | 国产噜噜噜 | 国产成人在线免费视频 | 精品99在线视频 | 久久久久久久久国产 | 一级黄色av电影 | 主人在调教室性调教女仆游戏 | 久久精品视频网址 | 国产精品亚洲激情 | 日韩精品中文字幕在线观看 | 国产91九色 | 综合国产在线 | 久久9色| 毛片网站视频 | 精品一区二区三区中文字幕老牛 | 国产精品一区二区视频 | 一级@片| 亚久久 | 一级网站| 神秘电影91| 久久青草热 | 国语自产免费精品视频在 | 18欧美性xxxx极品hd | 国产做爰 | 黄在线免费看 | 久久国产精品久久久久久 | 羞羞视频2023 | 久久久av影视 | 久久综合av | 极色品影院 | 久久国产精 | 91久久国产露脸精品国产 | 正在播放91| 精品成人网| 亚洲网站在线观看视频 | av黄色片网站 | 国产视频在线播放 | 欧美一级淫片免费视频黄 | 中国老女人一级毛片视频 |