在写相关资料中遇到一个问题,如下面代码
control.children(':eq(0)')[0].tagName; 返回div
control.children(':eq(0)').tagName; 返回undefined
alert(control.children(':eq(0)')[0]); 返回Object HTMLDivElement
alert(control.children(':eq(0)')); 返回Object Object
其中有,
从DOM层次来看,nodeName是node 接口上的property,而tagName是element 接口上的property,所有的节点(元素节点,属性节点,文本节点等12种)都继承了node接口,而只有元素节点才继承了element节点,因此nodeName比tagName具有更大的使用范围。
所以就说明了,为什么 control.children(':eq(0)').tagName; 返回undefined,因为tagName继承于element接口,而control.children(':eq(0)')是Object类型不是Element类型