2

ユーザーが href 要素をクリックしたときにクラス addclass を追加できるようにしたいと考えています。私はコーヒースクリプトを使用しています。何かアドバイス?

<div class="visual-tabs">
    <ul id="myTab" class="nav nav-tabs event-type">
        <li>
            <a class="form-scores">Test</a>
        </li>
        <li>
            <a class="form-scores">Test 2</a>
        </li>
    </ul>
</div>

これは私がこれまでに持っているものです:

$(document).on 'click', "#myTab .nav-tabs li a", (e) ->
  $(this).addClass('selected')                        
4

2 に答える 2

4

セレクターから を削除.nav-tabsします。それは の子として検索され#myTabます。また、少し冗長です。すでに一意の ID を選択しています。

$(document).on 'click', "#myTab li a", (e) ->
于 2013-08-08T14:09:30.163 に答える
1

問題はセレクタにあります。あなたが持っている方法でセレクターを書くことによりnav-tabs、ID の要素の子であるクラスを持つ要素を探していますmyTab

したがって、またはに簡略化する"#myTab .nav-tabs li a"必要があります#myTab.nav-tabs li a".nav-tabs li a""#myTab li a"

これが発生する理由は、#myTabCSS セレクターが をターゲットにしているため、その子であるulクラスを持つ要素を検索するためです(これは意図したものではありません)。nav-tabsul

そのため、これら 2 つのセレクターを組み合わせると問題が解決します (例: #myTab.nav-tabs)。これを行うと、これらのクラスの両方を持つ要素を検索し、次にliその子である要素を検索します。

于 2013-08-08T14:09:44.797 に答える