正在回答
1回答
同学你好,可以参考如下来理解:
var isElement = function (obj) { //nodeType 属性返回以数字值返回指定节点的节点类型。 如果节点是元素节点,则 nodeType 属性将返回 1。 //第一次过滤 判断节点是否存在,且nodeType的属性值是否返回1 if (obj && obj.nodeType === 1) { //第二次过滤 window.Node 查看window下是否有Node对象 // obj instanceof Node 判断obj是Node对象的一个实例, if( window.Node && (obj instanceof Node )){ //如果满足这两个条件,返回ture return true; } // //由于obj可能是来自另一个文档对象,因此不能轻易返回false try { testDiv.appendChild(obj); testDiv.removeChild(obj); } catch (e) { // 如果两者以上运行有错误,则返回false return false; } // 如果符合第一次过滤,返回true return true; } // 如果不符合第一次过滤,返回false return false; }
是比较绕的,同学可以多试着理解一下。
如果我的回答帮到了你,欢迎采纳,祝学习愉快~
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星