javascript - 字符串相等时返回 false

标签 javascript jquery

我有一个 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/

相关文章:

javascript - ASPX Web 表单中的动态元素 Bootstrap

jquery - 如何从 DOM 中删除 JQuery 对话框

javascript - 访问 ng-repeat 内的模型

javascript - 无法让简单的 JQuery 命令起作用

javascript - 在angularjs中对异步服务进行单元测试

javascript - 获取值并将其传递给按钮

javascript - jQuery 通过 Ajax 在 ASP.NET MVC C# 中调用 Action 方法

jQuery:计算具有相同背景颜色的 TD

javascript - 为什么 jscript 不显示我的项目?

javascript - 如何在 ES6 中重写 Headless Autodesk Forge Viewer