0

編集:修正しました!私の HTML を投稿するように言ってくれた人たちに感謝します - 私はそれを見て、「appname」クラスが 2 回あることに気づきませんでした。

<li class="<?php echo $apid; ?> appname appname_getinfo appname_<?php echo $apid; ?>">
       <span class="appname"><?php echo $apname; ?></span>
</li>

それで、「」を削除しましたが、うまくいきました!

クラスを持つ 3 つの要素があるとします。

エルワン

エルツー

エルスリー

EL ONEをクリックしたら太字にしたいです。EL TWO をクリックすると太字になり、EL ONE は通常の太さになります。次に EL THREE をクリックすると、太字になり、EL TWO が通常の太さになります。

私のスクリプト:

//// app info ////
$("li.appname_getinfo").click(function(){

    var appID = this.className.split(' ')[0];
    $.get("wishlist/appinfo.php?pw=R32kd63DL&apid=" + appID, function(data){                                
        $("div#appinfo").html(data);                            
    });

    $("div#appinfo").show();

    $(".appname").css("font-weight", "normal");
    $(this).css("font-weight", "bold");


});

クラス「appname」ですべてを通常に設定してから、$(this)を太字に変更できると思ったのですが、うまくいきません。(太字にすることはできません)。

4

3 に答える 3

0

$().each各アイテムにハンドラーを追加するには、 を使用する必要があります。私のコードは次のとおりです。

$('.appName').each(
  function(index, item){
    $(item).click(
      function(e) {
        $('.appName').css('fontWeight', 'normal');
        $(this).css('fontWeight', 'bold');
    });
});

Chromeでテストされ、説明どおりに動作するようです

于 2012-05-09T16:24:24.150 に答える
0

まず、経験則として、css ではないクラスを js から直接追加します。第二に、大胆なルールを適用し、適用し".appname"ない"li.appname_getinfo"

于 2012-05-09T16:15:12.453 に答える
0

上記のように、問題はクラス名の不一致であると思われますが、「li」要素内にコンテナーがあり、そのコンテナーが font-weight normal に設定されているため、別の理由が考えられます。LI要素に太字を設定していますが、その中の要素が通常のフォントの場合、LIに設定しても何も起こりません...

...
<style>
span { font-weight:normal; }
</style>
...
<ul>
   <li class="appName"><span>this text will not bold when you bold the LI because it's in a span, and spans are styled with normal font-weight</span>
   </li>
<ul>

Chrome の開発ツールが役立ちます...

于 2012-05-09T16:28:55.517 に答える