Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么jQuery.data()不更新元素_Javascript_Jquery - Fatal编程技术网

Javascript 为什么jQuery.data()不更新元素

Javascript 为什么jQuery.data()不更新元素,javascript,jquery,Javascript,Jquery,我对JQuery的.data()方法有一个问题,或者可能有一个预期的结果。我不确定为什么在使用元素选择器时,数据值在运行数据方法后不会更新。查看屏幕截图了解我所说的示例 我不确定为什么在使用数据(键、值)方法时,它会用预期的输出更新元素数据。但是为什么它不更新values html属性呢?我在Javascript方面的知识仍然非常有限,但我很想知道这是什么,以及我是否应该这样做。jQuery读取pageload上的所有数据属性。然后,它仅在其存储器中通过.data()-函数处理更改 要更新“真

我对JQuery的.data()方法有一个问题,或者可能有一个预期的结果。我不确定为什么在使用元素选择器时,数据值在运行数据方法后不会更新。查看屏幕截图了解我所说的示例


我不确定为什么在使用数据(键、值)方法时,它会用预期的输出更新元素数据。但是为什么它不更新values html属性呢?我在Javascript方面的知识仍然非常有限,但我很想知道这是什么,以及我是否应该这样做。

jQuery读取pageload上的所有
数据属性。然后,它仅在其存储器中通过
.data()
-函数处理更改

要更新“真实”HTML属性,您需要如下操作内容:

$('.selected a span:eq(3)').attr('data-value', 'newValue');

因为这是不应该的。这在文档中有介绍。但是请注意,这样做不会更改jQuery的.data()中已经存储的内容。不,您必须同时更改属性和jQuery的.data()。(添加到@KevinB的100%正确注释中)…除非您正在定义一个新的
数据-
属性,该属性未由
.data()
设置,因为
数据-*
值在没有为某个键设置
.data()
时用作默认值。完美,这正是我需要知道的。谢谢大家