0

<h4>クリックタグを強調するためのjquery関数を作成しました。しかし、それは一度だけ機能します。だから私はその問題をどのように解決するか。これは私のコードです。

   $(document).ready(function(){
        $('h4').click(function(){
            var a = $('h4').attr('style');
            if(a=='font-size: 1.5em'){
                $(this).css('font-size','2.5em');
            }
            else{
                $(this).css('font-size','1.5em');
            }
        });
    });  
4

1 に答える 1

4

シンプルなconsole.log(a)ものをミックスに入れると、問題が発生します。これを行うとき:

$(this).css('font-size', '1.5em');

最終的にstyle属性をに設定しますfont-size: 1.5em;。セミコロンに注意してください。したがって、1.5emに戻すと、等式テストは失敗します。属性の特定の形式に依存しませstyleん。予想とは異なる数のスペース(おそらくなし)が存在する可能性があり、予期しないセミコロンが存在する可能性があります...

CSSクラスを使用してこれを行う方がよいでしょう。HTMLは次のようになります。

​&lt;h4>Header</h4>​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

そしてCSSは次のようなものです:

​h4 {
    font-size: 1.5em;
}
h4.emphasized {
    font-size: 2.5em;
}​

そして最後に、JavaScriptは次のような単純なものになります。

$('h4').click(function() {
    $(this).toggleClass('emphasized');
});

デモ: http: //jsfiddle.net/ambiguous/2rpxa/

</ p>

于 2012-11-23T05:56:12.460 に答える