<p id="getMessage" data-sid="158">
<strong>Name</strong> : Rahul Kumar<br>
<strong>Total </strong> : 25<br>
</p>
这是我使用jQuery动态生成的HTML
现在这是稳定的并且修复
我在Consol中执行了几个命令并找到了这些结果
$('#getMessage').attr('data-sid');
"158"
这是预期的。
但是当我执行这个
时$('#getMessage').data('sid');
160
它显示160,它应该是158对吗?
我使用$('#getMessage').attr('data-sid', result.studentDetails.SID);
进行设置。
答案 0 :(得分:3)
.attr
会读取实际属性。
.data
将读取该数据项的当前值。如果您的代码已更改了将成为当前值的值(即$('#getMessage').data('sid',160)
)。
答案 1 :(得分:0)
data()
函数将数据存储到特定元素
存储与指定元素关联的任意数据和/或返回已设置的值。
jQuery.data($('#element'), data);
另一方面,attr()
从元素中获取或设置属性。
$('div').attr('data-test', 'test');
<div data-test="test"></div>
答案 2 :(得分:0)
按要求提供工作示例...,请注意我可以在不更改实际属性的情况下更改数据属性的值
console.log($('#getMessage').attr('data-sid'));
console.log($('#getMessage').data('sid'));
$('#getMessage').data('sid', 160);
console.log($('#getMessage').attr('data-sid'));
console.log($('#getMessage').data('sid'));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p id="getMessage" data-sid="158">
<strong>Name</strong> : Rahul Kumar
<br>
<strong>Total </strong> : 25
<br>
</p>