4

我有一个按钮,onclick="bold()"它应该将字体粗细从正常更改为粗体,然后再恢复正常。它没有做任何事情。我需要更改或添加什么?如果有帮助,这是一个 jsfiddle:http: //jsfiddle.net/dZVfh/

<script>
    var x = document.getElementById('description-box');
    function bold() {
      if( $(x).css("font-weight") == "normal") {
        $(x).css("font-weight"), "bold");
      }
      else {
        $(x).css("font-weight", "normal");
      }
    }
  </script>
4

2 回答 2

3

您的代码中存在语法错误:

改变

$(x).css("font-weight"), "bold");

$(x).css("font-weight", "bold");


全功能

function bold() {
    var x = $('#description-box');
    if (x.css("font-weight") !== "bold") {
        x.css("font-weight", "bold");
    } else {
        x.css("font-weight", "normal");
    }
}

工作小提琴:http: //jsfiddle.net/dZVfh/3/

你原来的小提琴有很多问题。

  • jQuery 没有被包括在内

  • 该函数在内部定义domReady- 这意味着单击按钮时它不可见

  • CSS 块有语法错误。样式是用 a)而不是 a关闭的}

  • 您试图x在 DOM 准备好之前将元素分配给。新的小提琴在函数内部执行此操作(此时 DOM 已准备好)

于 2013-05-19T07:46:20.813 回答
3

我更喜欢让它改变类:

添加此样式

.bold{
    font-weight: bold;
}

改变你的功能:

function bold(){
  if( $(x).hasClass("bold")) {
     $(x).removeClass("bold");
  }
  else {
    $(x).addClass("bold");
  }
}
于 2013-05-19T08:25:15.760 回答