2

这两天我用谷歌搜索并浏览了这个网站,但没有发现类似的问题。我是 jQuery 新手,希望这不是其他帖子的重复。

$(this).css("font-weight", "bold"); //this works
$(this).css({"font-weight":"bold"}); //this works as well

$(this).css("font-weight", "normal"); //this doesn't work
$(this).css({"font-weight":"normal"}); //this doesn't work either

为什么不能将文本字体粗细设置为 NORMAL(在我的情况下)?我使用 Firefox 17.0.1,但将字体设置为正常的功能在早期版本的 Firefox 中也无法使用。

更新:昨晚我的问题终于解决了,在浏览了这个网站后发现了一个非常相似的东西。一些人不得不在 HTML 片段中搜索<b></b>,我通过以下方式解决了我的问题

使用这个:“ $(this).find('strong, b').css('font-weight', 'normal')

而不是:“ $(this).css('font-weight', 'normal')”。

问题解决了!感谢大家昨天帮助我。

4

6 回答 6

1

这是我的一个 PHP 文件中 PHP 代码下方的 HTML 部分。

<html>
    <head>
    <style type="text/css">
        td a:link {text-decoration: none; color: inherit;}
        td a:visited {text-decoration: none; color: inherit;}
        td a:active {text-decoration: none; color: inherit;}
        td a:hover {text-decoration: underline; color: blue;}
    </style>
    <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript">
        $(document).ready(function()
        {
            $('td[id="text_linked_to_detail_page"]').click(function(event)
            {
                $(this).css("font-weight", "normal");
                event.preventDefault();
            });
        });
    </script>
    <title>View Data</title>
</head>
<body>
</body>
</html>
于 2013-03-18T06:24:48.273 回答
1

Normat 工作正常,您可以交叉检查您使用的是哪个版本的 jquery 吗?发出命令,以便我们也能理解您的问题

脚本

$("#div1").css("font-weight", "bold");
$("#div2").css("font-weight", "normal");
$("#div3").css("font-weight", "bold");
$("#div4").css("font-weight", "");

HTML

<div id="div1" >some text</div>
<div id="div2" >some text</div>
<div id="div3" >some text</div>
<div id="div4" >some text</div>
<input type="button" onclick="javascript:$('#div1').css('font-weight','normal')" value="Normal"/>
<input type="button" onclick="javascript:$('#div1').css('font-weight','bold')" value="Bold"/>

演示

于 2013-03-18T06:08:49.497 回答
1

正常也适用于我,但如果您有问题,请尝试将字体粗细设置为空字符串,它将应用默认值,这将是正常的。

现场演示

$(this).css("font-weight", "");
于 2013-03-18T05:59:10.453 回答
1

您可能对 jQuery 而不是 css 样式有问题。

我的html:

<p id="text">Lorem Ipsum Dolor Sit Amet</p>
<p id="bold">Click to : bold</p>
<p id="normal">Click to : normal</p>

和 jQuery:

function action() {
    "use strict";
    $("#normal").click(function () {
        $("#text").css("font-weight", "normal");
    });
    $("#bold").click(function () {
        $("#text").css("font-weight", "bold");
    });
}

$(document).ready(function () {
    "use strict";
    action();
});
于 2013-03-18T06:07:36.720 回答
0

我的代码基于您的代码段:

<html>
    <head>
    <style type="text/css">
        td a:link {text-decoration: none; color: inherit; }
        td a:visited {text-decoration: none; color: inherit; }
        td a:active {text-decoration: none; color: inherit; }
        td a:hover {text-decoration: underline; color: blue; }
    </style>
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
    <script type="text/javascript">
        /*global $, jQuery, document*/
        $(document).ready(function () {
            "use strict";
            $('#text').click(function (event) {
                $(this).css("font-weight", "normal");
                event.preventDefault();
            });
        });
    </script>
    <title>View Data</title>
</head>
<body>
<p id="text" style="font-weight: bold;">Lorem ipsum</p>
</body>
</html>

演示

所以我认为问题出在这条线'td[id="text_linked_to_detail_page"]',也许尝试使用点符号。或者检查 ID 是否肯定是唯一的。

于 2013-03-18T07:07:29.053 回答
0

让我们明确 CSSfont-weight属性

定义和使用

font-weight属性设置文本中thickthin字符应如何显示。

默认值:正常

因此您的代码可以正常工作,因为您将默认值设置为文本,但不同之处在于您只是看不到更改。

于 2013-03-18T06:05:20.280 回答