我有一个锚元素:
<a id="buyBtn" href="#" alt="Purchase" title="Buy now" data-enabled="true">
单击它时,我这样做:
enabled = $(this).data('enabled') == "true";
console.log(enabled);
但是,控制台会显示false
。我最初使用===
,但这是假的,所以我搬到了==
。
答案 0 :(得分:10)
此问题的接受答案详述了原因:
Retrieve boolean data from data attribute in jquery
jQuery的.data()
方法非常智能,可以将“true”/“false”数据字符串转换为真正的布尔值。
严格比较运算符检查类型,并且因为您正在将字符串与布尔值进行比较而失败。
"true" === true // false