我有一個元素,可以在頁面加載時獲取由jquery添加的屬性。該屬性稱爲jcarouselindex。當文檔加載時,我需要獲取這個屬性的值。jQuery .live功能問題
Ive得到了選擇,如果沒有動態地添加它可能只是做:
id = jQuery('#gallery-carousel li.selected').attr("jcarouselindex");
但由於其被動態地添加id的值是不確定的。我想我需要使用.live()有沒有人知道我會如何得到這個屬性的價值?
我有一個元素,可以在頁面加載時獲取由jquery添加的屬性。該屬性稱爲jcarouselindex。當文檔加載時,我需要獲取這個屬性的值。jQuery .live功能問題
Ive得到了選擇,如果沒有動態地添加它可能只是做:
id = jQuery('#gallery-carousel li.selected').attr("jcarouselindex");
但由於其被動態地添加id的值是不確定的。我想我需要使用.live()有沒有人知道我會如何得到這個屬性的價值?
上面的代碼應該可以工作。 .live()用於不同的目的。我想你可能在動態添加之前嘗試訪問attr。嘗試使用setTimeout調用此函數,這將確保所有現有代碼都得到執行。我假設你的代碼已經在$(function(){})之內了;塊。
應該使用活動將事件處理程序綁定到綁定時頁面上不存在的元素。
我想你需要看看你在頁面上的執行時間。你的選擇器包含了在li上選擇的類,所以我認爲一個事件必須觸發添加選定的類。 jcarouselindex屬性值被添加後,這個事件是否發生?如果是這樣,那麼當選擇事件發生時你應該捕獲這個值。
不幸的是,您還沒有給我們很多細節,所以更多的信息可以幫助我們更好地爲您提供幫助。
live
不是爲了這個,而是爲事件處理程序。您必須在設置屬性後運行該代碼,因此請嘗試:
$.ready(function(){
id = jQuery('#gallery-carousel li.selected').attr("jcarouselindex");
});
是否正在使用jcarousel插件?
如果是有回調,你可以在轉盤上的初始化使用:
$('#gallery-carousel').jcarousel({
initCallback: function() {
var id = $('#gallery-carousel li.selected').attr("jcarouselindex");
// do something with id
}
});
這樣你可以肯定的是,旋轉木馬已經執行代碼之前初始化。
參見:http://sorgalla.com/projects/jcarousel/以獲得進一步的細節。
其實它應該工作。 'live'僅用於在綁定時將事件綁定到不存在**的元素。您應該能夠以通常的方式讀取添加到對象中的屬性。也許問題在別的地方? – Andrea 2011-03-01 10:51:09
如果在頁面加載時加載了,那麼在加載語句後是否可以運行getValue代碼添加元素? – Alex 2011-03-01 10:52:24