Jquery - 关键字更改数据属性值

时间:2014-08-07 09:04:14

标签: javascript jquery html

我将一些HTML附加到doc。 HTML的一部分是文本输入。当我在此输入中输入信息时,我想更新最接近的li数据值的值。

目前这不起作用。但是,如果我将数据('name'..)更改为CSS,则可以正常工作。我已检查过该值是否正在分配,它是。

为什么这不起作用的任何想法?提前谢谢。

$(document).on('keyup','.image-name', function() {
     var value = $(this).val();
     $(this).closest('li.image').data('name', value);
}).keyup();

2 个答案:

答案 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?

希望它有所帮助。