2010-05-05 120 views
29

这段代码并不适用于任何特别的东西。我只是试图成功获取元素的tagName或nodeName。但是,当我运行下面的代码时,我总是会收到一条警告,提示“未定义”。我想知道是否因为这个函数在文档准备好的时候执行?我应该这样做有不同的地方吗?或者它可能是我的其他JavaScript代码以某种方式冲突(我怀疑)。jquery nodename返回undefined

$(document).ready(function(){ 
     $('#first').hover(function() { 
      alert($('#last').nodeName); 
     }); 
    }); 

回答

50

您正试图访问jQuery对象的非成员。 使用这些DOM元素访问的一个检索这些属性:

$('#last').get(0).nodeName

OR

$('#last')[0].nodeName

OR

document.getElementById('last').nodeName

+3

,我不认为这个工程了,并已计提折旧。 Steven的答案工作得很好:.prop(“nodeName”)) – newUserNameHere 2013-10-10 22:55:07

+1

@newUserNameHere的两条评论:(1)答案确实有效,所使用的函数不被弃用。 (2)请注意“已弃用”(正确)和“折旧”(不正确)之间的区别,如[其他堆栈交换问题](http://english.stackexchange.com/q/45295)中所述。 – 2016-03-09 23:56:35

56

使用jQuery的prop()

alert($('#last').prop("nodeName"));