我有一个 anchor 元素:
<a id="buyBtn" href="#" alt="Purchase" title="Buy now" data-enabled="true">
当它被点击时,我这样做:
enabled = $(this).data('enabled') == "true";
console.log(enabled);
但是,控制台显示 false
。我最初使用的是 ===
,但给出的是错误的,所以我转到了 ==
。
最佳答案
此问题的公认答案详细说明了原因:
Retrieve boolean data from data attribute in jquery
jQuery 的 .data()
方法足够智能,可以将“true”/“false”数据字符串转换为真正的 bool 值。
严格比较运算符检查类型,但失败了,因为您正在将字符串与 bool 值进行比较。
"true" === true // false
关于javascript - 字符串相等时返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12967514/