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 ブロックに構文エラーがありました。)スタイルはではなく で閉じられていました}

  • xDOM の準備が整う前に要素を割り当てようとしました。新しいフィドルは関数内でこれを行います(その時点で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 に答える