栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何检查JavaScript对象是否为DOM对象?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何检查JavaScript对象是否为DOM对象?

这可能很有趣:

function isElement(obj) {  try {    //Using W3 DOM2 (works for FF, Opera and Chrome)    return obj instanceof HTMLElement;  }  catch(e){    //Browsers not supporting W3 DOM2 don't have HTMLElement and    //an exception is thrown and we end up here. Testing some    //properties that all elements have (works on IE7)    return (typeof obj==="object") &&      (obj.nodeType===1) && (typeof obj.style === "object") &&      (typeof obj.ownerdocument ==="object");  }}

它是DOM Level2的一部分。

更新2
:这是我在自己的库中实现它的方式:(以前的代码在Chrome中不起作用,因为Node和HTMLElement是函数而不是预期的对象。此代码已在FF3,IE7,Chrome1和Opera中进行了测试9)。

//Returns true if it is a DOM nodefunction isNode(o){  return (    typeof Node === "object" ? o instanceof Node :     o && typeof o === "object" && typeof o.nodeType === "number" && typeof o.nodeName==="string"  );}//Returns true if it is a DOM element    function isElement(o){  return (    typeof HTMLElement === "object" ? o instanceof HTMLElement : //DOM2    o && typeof o === "object" && o !== null && o.nodeType === 1 && typeof o.nodeName==="string");}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/464542.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号