javascript - 为什么 jQuery 匹配甚至没有指定 CSS 属性和值的元素?

标签 javascript jquery html css

<html>
<head>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script>
    <script>
    $(function () {
        var elements = $("*").filter(function () {
            return $(this).css("font-weight") == "700";
        }).append("Yes it has 'font-weight'");
    });

    </script>
</head>
    <body>
        <b>Bold text</b>
    </body>
</html>

“b”标签附加了文本是的,它有“font-weight”,尽管它实际上没有这个 CSS 属性。谁能告诉我为什么以及如何避免这种情况?

最佳答案

b 标记隐式具有 700 的字体粗细,因为它是粗体文本的默认字体粗细。这是它的默认值,除非您更改它。

我认为没有办法查明 CSS 属性是在样式表中显式设置,还是由浏览器设置为默认值。唯一的“解决方案”(尽管我首先想知道实际问题是什么)是更改样式表中“b”和“strong”标签的字体粗细。

关于javascript - 为什么 jQuery 匹配甚至没有指定 CSS 属性和值的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6373834/

相关文章:

javascript - 使用 javaScript 复制时,div 之间的行高不相同

javascript - "lang.link.toolbar is null or not an object"在 IE7 中使用 CKeditor

javascript - 如何生成5个不同的随机数?

javascript - 拖放三 Angular 形

javascript - 在模式隐藏时,重置选择的内容(与日期时间选择器字段链接)

javascript - 当页面超过一页(例如第 2 页)时突出显示当前页面的脚本

javascript - 如何在 DHTMLX 网格版本 6 中添加自定义列

javascript - CSS整页高度内容

javascript - 对数组中的非后续元素进行排序

javascript - 允许指针(单击)事件通过元素,同时保持滚动功能