我输入了警报,因为当我检查元素时没有显示更改。但是,当我第一次点击该对象时,它会显示“数据现在为假”警报,就好像我已经点击过一次。
HTML:
<li class="media-thumb" data-select="false"><img src="IMG HERE"></li>
使用Javascript:
$(document).ready(function() {
$(".media-thumb").click(function() {
if($(this).data("select") === "false")
{
alert("data is now true")
$(this).data("select", "true");
}
else
{
alert("data is now false")
$(this).data("select", "false");
}
});
});
答案 0 :(得分:3)
data-select
属性作为布尔false
返回(根据jQuery docs:“每次尝试将字符串转换为JavaScript值”),而不是字符串。< / p>
所以你实际上可以写:
$(".media-thumb").click(function() {
if(! $(this).data("select"))
{
alert("data is now true")
$(this).data("select", true);
}
else
{
alert("data is now false")
$(this).data("select", false);
}
});
示例CodePen:http://codepen.io/paulroub/pen/Bnvub