我有一个锚元素:
<a id="buyBtn" href="#" alt="Purchase" title="Buy now" data-enabled="true">
当它被点击时,我正在这样做:
enabled = $(this).data('enabled') == "true";
console.log(enabled);
但是,控制台显示false
。我最初使用的是===
,但结果是false,所以我转到了==
。
这个问题的公认答案详细说明了原因:
从jquery中的data属性中检索布尔数据
jQuery的.data()
方法足够聪明,可以将“true”/“false”数据字符串转换为真正的布尔值。
严格比较运算符检查类型,但由于将字符串与布尔值进行比较而失败。
"true" === true // false