字符串相等时返回false的字符串相等

时间:2012-10-19 04:42:59

标签: javascript jquery

我有一个锚元素:

<a id="buyBtn" href="#" alt="Purchase" title="Buy now" data-enabled="true">

单击它时,我这样做:

enabled = $(this).data('enabled') == "true";
console.log(enabled);

但是,控制台会显示false。我最初使用===,但这是假的,所以我搬到了==

1 个答案:

答案 0 :(得分:10)

此问题的接受答案详述了原因:

Retrieve boolean data from data attribute in jquery

jQuery的.data()方法非常智能,可以将“true”/“false”数据字符串转换为真正的布尔值。

严格比较运算符检查类型,并且因为您正在将字符串与布尔值进行比较而失败。

"true" === true // false