作业帮 > 综合 > 作业

关于javascript中为firefox定义contain方法,这句while(obj!=null&&typeof(o

来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/17 11:53:21
关于javascript中为firefox定义contain方法,这句while(obj!=null&&typeof(obj.tagName)!="undefind",疑问
if(typeof(HTMLElement)!="undefined")//给firefox定义contains()方法,ie下不起作用
\x09\x09{
\x09\x09 HTMLElement.prototype.contains=function (obj)
\x09\x09 {
\x09\x09\x09 while(obj!=null&&typeof(obj.tagName)!="undefind"){//
\x09  if(obj==this) return true;
\x09    \x09 obj=obj.parentNode;
\x09   \x09 }
\x09\x09\x09 return false;
\x09\x09 }
\x09}
以上是定义contain方法,while(obj!=null&&typeof(obj.tagName)!="undefind"不是判断obj是否存在么,为什么还要加typeof(obj.tagName)!="undefind",这个不多余么?
关于javascript中为firefox定义contain方法,这句while(obj!=null&&typeof(o
在Firefox中节点间存在一个空节点(有可能是文本节点text-Node).空节点不具有节点名称,但却存在于文档的节点集合中.所以多数情况下判断tagName还是很重要的.具体情况你可以查看w3c中关于DOM 节点的解析.