根据单击的HTML类运行Javascript

时间:2017-04-04 20:47:52

标签: javascript jquery

我有一个我正在处理的小脚本:)

想法是,如果span标记包含autocompleteitem autocompleteitem autocompleteitemwithcontainer那么它会显示单词{{1 }}。现在它为两者显示hello :(

演示: https://jsfiddle.net/L33mqqtp/

hello

如何更新我的代码才能执行此操作?

4 个答案:

答案 0 :(得分:3)

试试这个

'click','.autocompleteitem:not(.autocompleteitemwithcontainer)'

答案 1 :(得分:1)

他们都有.autocompleteitem课程!要获得所需内容,请使用另一个选择器,该选择器仅适用于第一个:

$(document).ready(function() {
  $(document).on('click','.autocompleteitem:not(".autocompleteitemwithcontainer")',function(){
    $("div").show();
  });
});

答案 2 :(得分:1)

试试这个

$(document).ready(function() {
    $("span").on('click', function(){
        if(this.className == "autocompleteitem")
            $("div").show();
     });
});

答案 3 :(得分:1)

使用属性选择器语法。这将允许您直接匹配整个属性。这样您就不必为每个不想被选中的东西制作一堆不同的组合。

示例选择器:$(document).ready(function() { $(document).on('click','[class="autocompleteitem"]',function(){ $("div.containertoshow").toggle(); }); });

工作示例:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<a href="#" class="autocompleteitem">Should work</a><br>
<a href="#"class="autocompleteitem autocompleteitemwithcontainer">Should not work</a>

<div class="containertoshow" style="display:none;">That button does toggle me on/off!</div>
SyncUser.current!.isAdmin