JS使用HTML data*自定义数据的问题
如果代码是这样,console.log结果是1,很好,重新设置data-inset成功{:301_1001:}<!DOCTYPE html>
<html>
<head>
<script src="/jquery/jquery-1.11.1.min.js"></script>
<script>
$(document).ready(function(){
$("input").click(function(){
$(this).attr("data-inset", "1");
console.log($(this).data("inset"));
});
});
</script>
</head>
<body>
<input data-inset="0"></input>
</body>
</html>
为避免重复执行,加个if,console.log结果竟然是0,我试过无数次了,找不到原因,甚至先console.log一次data-inset,再变更属性都是无效的,崩溃{:301_977:}
知道原因和解决办法的大哥说一下,谢谢。
<!DOCTYPE html>
<html>
<head>
<script src="/jquery/jquery-1.11.1.min.js"></script>
<script>
$(document).ready(function(){
$("input").click(function(){
if($(this).data("inset")=="0"){
$(this).attr("data-inset", "1");
console.log($(this).data("inset"));
}
});
});
</script>
</head>
<body>
<input data-inset="0"></input>
</body></html> 把"1"改成1
设置用这个,不要attr
$(this).data("inset",1) console.log($(this).attr("data-inset"));这样打印 初始化时,默认是 undefined 吧
你判断时在前面加上
if(typeof $("this").data("inset") == 'undefined' || $("this").data("inset") == "0"){
$("this").data("inset", "1");
} ss63551234ss 发表于 2019-10-14 15:27
设置用这个,不要attr
$(this).data("inset",1)
经测试,此方法较好{:301_993:}
页:
[1]