<!DOCTYPE html><html lang="en"><head>
<meta charset="UTF-8" />
<title>Document</title></head><body>
<button type="button" value="text" onclick="alert($(this).val())">提交1</button>
<button type="button" value="text" onclick="alert($(this).text())">提交2</button>
<button type="button" data-test="super" onclick="alert($(this).attr('type'))">提交3</button>
<button type="button" data-test="super" onclick="alert($(this).data('test'))">提交4</button>
<script src="http://cdn.bootcss.com/jquery/1.12.3/jquery.min.js"></script>
<script>
</script></body></html>这是我修改的截图(整个过程,浏览器始终不刷新) 按照以下方法处理一次:当我使用谷歌开发者工具,直接把提交1按钮里的value值text,改成aaaa,点击提交1,会弹出aaaa.以同样的方法处理并点击提交2和提交3和提交按钮出现相同的情况。开始第二次处理:也是同样的方法,提交1,提交2和提交3按钮均能弹出你修改后的值,但惟独提交4按钮依旧弹出第一次修改后的值。这是jquery的data方法的缘故,还是浏览器的缘故还是其他原因
1 回答
![?](http://img1.sycdn.imooc.com/545863e80001889e02200220-100-100.jpg)
HUWWW
TA贡献1874条经验 获得超12个赞
之前也有人问过类似的问题,jquery.data()
方法不会改变dom元素.
jquery的data 和 html5规定的data还不是一个东西。
jquery的data 只会在页面初始化时读取dom上的属性,之后的操作全部都是在js内存中进行。
dom上的属性值 只是 jquery.data 初始化值,之后修改和读取 都和dom上的属性没有关系。
添加回答
举报
0/150
提交
取消