我在这里有一些HTML和脚本:
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$("#options").attr("data-previousvalue1", $("#options").val());
$("#options").data("previousvalue2", $("#options").val());
});
</script>
</head>
<body>
<select id="options">
<option value="1">option 1</option>
<option selected="selected" value="2">option 2</option>
<select>
</body>
</html>
所以,这只有一半像我期望的那样工作:
$("#options").attr("data-previousvalue1", $("#options").val());
设置data-previousvalue1 = 2,这是好的
但我期待:
("#options").data("previousvalue2", $("#options").val());
设置data-previousvalue2 = 2.
我是否误解了数据方法?从我的搜索和阅读中,这应该有用。
这是输出html:
答案 0 :(得分:5)
当使用jQuery的数据方法时,它实际上将值存储在缓存中,在检查元素时不可见。如果您调用诸如alert($(“#options”)。data(“previousvalue2”))之类的数据,数据将在那里;
请查看此文章了解更多详情。