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-tabs是它的子元素ul(这不是你想要的)。

这就是为什么结合这两个选择器可以解决问题(例如#myTab.nav-tabs)。这样做将导致它查找具有这两个类的任何元素,然后查找它的子元素li

于 2013-08-08T14:09:44.797 回答