请大神们解释下
视频里说的很清楚了。
dom元素节点具有nodeType属性,属性法仅仅是判断一个对象的nodeType是否为1;
但是可以自己创建这样1个对象:
var obj={nodetype:1}这个对象并不是dom对象,但是用属性法判断
function isElement(ele){
return ele&&ele.nodeType===1;
}
isElement(obj);//这样也会返回true,但是obj并不是dom节点。上面就是属性法判断的不足之处,如果用功能法:
function isElement(ele){
try{
var div=document.createElement('div');
div.appendChild(ele);//把ele做为子节点添加到div里
div.removeChild(ele);//把ele从div里移除
}catch(e){
return false;
}
}
var obj={nodetype:1}
isElement(obj)//返回false由于obj不是dom对象,所以它不能添加到div里或从div里移除(obj不具备这些功能)。这就是功能法