[英]How to select data-id in jQuery after the data-id is changed in the page?
$('.click').click(function() {
id = $(this).data('id');
alert(id);
$('.click').attr('data-id' , id+1);
});
如鏈接中所示,我希望每次單擊按鈕時data-id都增加1。 當您單擊它時,data-id確實確實增加到了2,並且可以在Chrome中使用“檢查元素”看到它。但是,當我下次單擊它時,彈出窗口仍然是1,而不是預期的“ 2”。 ?
由於您正在使用.data
來獲取值,因此它將被導入jQuery.cache
,因此將來的.data()
獲取將從那里而不是從屬性開始。
因此,如果要下一個“獲取”來獲取更新的值,則需要使用.data()
更新。
$('.click').click(function() {
id = $(this).data('id');
alert(id);
$('.click').data('id' , id+1);
});
或更好的方法是,只需使用.attr()
因為它更快,並且具有較少的內存開銷(因為該值在jQuery.cache
不重復)。
$('.click').click(function() {
id = $(this).attr('data-id');
alert(id);
$('.click').attr('data-id' , id+1);
});
我建議僅在需要保留原始數據或正在處理更復雜的對象(如從JSON值創建的對象.data()
時才使用.data()
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.