1
我有下面的代碼,我設置jQuery的動態添加的選擇時。數據()是未定義
function showCountries(data)
{
for(var i in data)
{
var li = document.createElement('li');
$(li).html('<a>' + i + '</a><span>></span>');
$(li).data('cargo', { state: data[i] });
/*
right here, if I look at $(li).data('cargo').state in the debugger
I see the data as expected
*/
$('#countries').append(li);
$(li).on('click', $.proxy(countrySelected, li));
}
}
後來Li元素上的一些任意的數據,在選定的國家,我想要得到的貨物數據。但是,這是不明確的
function countrySelected()
{
var country = $(this).children('a').html();
// country is what I expect
var cargo = $(this).children('a').data('cargo');
// cargo is undefined here
// I tried this too:
var cargo = $('#countries li.selected a').data('cargo');
// cargo is undefined here as well
}
我做錯了什麼?這是在加載頁面後動態設置.data()的問題嗎?
感謝, 斯科特