【发布时间】:2017-12-14 23:57:49
【问题描述】:
我有一个 Javascript 方法来检查元素是否具有粗体字重。
function selected(element) {
return element.css("font-weight") === "bold";
}
这曾经可以工作,但最近我意识到它已经停止工作了。
即使在检查中,元素的 CSS 与之前相同:
<td title="Example" style="font-weight: bold; color: black;">EXAMPLE</td>
上面的函数返回false。
这是因为,element.css("font-weight") 返回的是一个数字 (700)。
我已将我的功能更改为:
function selected(element) {
return element.css("font-weight") === "bold" || element.css("font-weight") === "700";
}
而且它有效。有谁知道为什么?我使用的是 Chrome 62.0.3202.94,这会起作用吗?
【问题讨论】:
-
^
>==不是一个东西。 -
这个值什么时候会超过 700?你为什么建议
>= 700而不是=== 700? -
@RoryMcCrossan This is NOT true。它实际上是一个字符串。
-
粗体为700,正常为400,文本中的每个font-weight值都有一个数字,看这个developer.mozilla.org/en-US/docs/Web/CSS/font-weight
-
@ErikKralj 看来我的测试有缺陷 - 你是对的。我删除了我的评论
标签: javascript jquery html css