简体   繁体   English

如何在jQuery中使用.not选择器?

[英]How to use .not selector in jQuery?

I have two divs task1 and task2 . 我有两个div task1task2 In these tasks, there are panels with names. 在这些任务中,有带有名称的面板。 In task2 , I have a duplicate (Greg). task2 ,我有一个副本(Greg)。 This duplicate have also a duplicate class. 此重复项也具有重复的类。 How can I search for a name and skip the duplicates? 如何搜索名称并跳过重复项? I tried to use the :not() selector but this didn't work. 我试图使用:not()选择器,但这没有用。

My example: 我的例子:

 <div class="container">
  <div id="department-task1">
    <div class="panel">
      <p class="panel-name">Jeff</p>
    </div>
    <div class="panel">
       <p class="panel-name">Greg</p>
    </div>
    <div class="panel">
       <p class="panel-name">Peter</p>
    </div>
  </div>

  <br>

  <div id="department-task2">
    <div class="panel">
       <p class="panel-name">Mary</p>
    </div>
    <div class="panel">
       <p class="panel-name">John</p>
    </div>
    <div class="panel duplicate">
       <p class="panel-name">Greg</p>
    </div>
  </div>
</div>

My jQuery code: 我的jQuery代码:

$(document).ready(function() {

    function isNamePresent($name) {

        $leader = $(".container :not(.duplicate) .name:contains(" + $name + ")"); 

        return $leader.css("color", "blue");

    }

    isNamePresent("Greg");

});

Use this: $leader = $(".container .panel:not(.duplicate) .panel-name:contains(" + $name + ")"); 使用以下命令: $leader = $(".container .panel:not(.duplicate) .panel-name:contains(" + $name + ")");

First off you have no class name , you have panel-name 首先,您没有班级name ,您有panel-name

Second, use .panel:not(.duplicate) to make sure it looks for an element with the class panel that don't have another class duplicate 其次,使用.panel:not(.duplicate)确保它在类panel中查找没有其他类duplicate的元素

Working demo 工作演示

 $(document).ready(function() { function isNamePresent($name) { $leader = $(".container .panel:not(.duplicate) .panel-name:contains(" + $name + ")"); return $leader.css("color", "blue"); } isNamePresent("Greg"); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="container"> <div id="department-task1"> <div class="panel"> <p class="panel-name">Jeff</p> </div> <div class="panel"> <p class="panel-name">Greg</p> </div> <div class="panel"> <p class="panel-name">Peter</p> </div> </div> <br> <div id="department-task2"> <div class="panel"> <p class="panel-name">Mary</p> </div> <div class="panel"> <p class="panel-name">John</p> </div> <div class="panel duplicate"> <p class="panel-name">Greg</p> </div> </div> </div> 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM