我将一些HTML附加到doc。 HTML的一部分是文本输入。当我在此输入中输入信息时,我想更新最接近的li
数据值的值。
目前这不起作用。但是,如果我将数据('name'..)更改为CSS,则可以正常工作。我已检查过该值是否正在分配,它是。
为什么这不起作用的任何想法?提前谢谢。
$(document).on('keyup','.image-name', function() {
var value = $(this).val();
$(this).closest('li.image').data('name', value);
}).keyup();
答案 0 :(得分:1)
经过一番研究后,我设法解决了这个问题。仍然不确定为什么它不起作用但是......
我已将数据('name',value)更改为attr('data-name',value)和bingo ......
$(document).on('keyup','.image-name', function() {
var value = $(this).val();
$(this).closest('li.image').attr('data-name', value);
}).keyup();
答案 1 :(得分:1)
使用attr()vs data()时几乎没有问题 短版本 - data()会将你的数据保存在内存中,并且不会在html元素上设置属性,但是你仍然可以检索它,即使你之前设置过attr(),但它在其他方面也不能很好地工作。
这是一篇很好的帖子,其中包含示例 - jQuery Data vs Attr?
希望它有所帮助。