2011-06-16 70 views
1

我使用.attr( 「ID」)1.6.1

jQuery(something).attr("id")

jQuery的1.6.1

,並似乎得到使用問題, - 基本上,它的返回空白?

我認爲1.6.1的所有問題都解決了向後兼容性問題,如.attr或?

+2

你可以發佈你使用的實際代碼嗎? 'attr'函數應該可以正常工作。 – 2011-06-16 15:44:12

+2

是否有東西有'id'呢? jQuery 1.6+增加了'prop' witch與你正在做的不同,不管是什麼版本的jQuery,爲了獲得DOM元素的id屬性,它仍然是你正在做的方式,但是,如果元素不有'id',就像'

>'它會一直是空白的! – balexandre2011-06-16 15:44:55

+0

@JamesAllardice @balexandre - 我的JS分配元素ID,然後進一步提取分配的ID - 因此我需要'id'屬性。這在1.3.2和1.4.4中沒有任何問題 - 所以我很困惑爲什麼它現在導致我的問題 – Tim 2011-06-16 15:48:18

回答

3

使用something.id(如果它的HTMLElement

$(something)[0].id(如果它是一個選擇的字符串)

+0

謝謝呈現「未定義」。出於某種原因在1.6.1中 - 在我的數組中 - 以及在我的JS代碼中進一步分配ID元素時 - 這會在1.6.1中給我一個錯誤。更改爲您的答案 - 「$(something)[0] .id' - 似乎正確地傳遞了該值。 – Tim 2011-06-16 16:02:26

0

也許你正在使用的選擇是返回對象的數組。在這種情況下,您需要:

jQuery(something).each(function(){ 
    var id = $(this).attr("id"); 
    //Do what ever you need to with each id 
}); 

或者只選擇第一個元素。

+1

其實我試着用一個返回元素數組的選擇器,它顯示第一個。 – vtortola 2011-06-16 15:57:17