2010-05-05 95 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"));