Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在jQuery中使用.not选择器?_Javascript_Jquery - Fatal编程技术网

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

Javascript 如何在jQuery中使用.not选择器?,javascript,jquery,Javascript,Jquery,我有两个divtask1和task2。在这些任务中,有带名称的面板。 在task2中,我有一个副本(Greg)。此副本也有一个重复的类。 如何搜索名称并跳过重复的名称?我尝试使用:not()选择器,但没有成功 我的例子是: <div class="container"> <div id="department-task1"> <div class="panel"> <p class="panel-name">Jeff<

我有两个div
task1
task2
。在这些任务中,有带名称的面板。 在
task2
中,我有一个副本(Greg)。此副本也有一个重复的类。 如何搜索名称并跳过重复的名称?我尝试使用
:not()
选择器,但没有成功

我的例子是:

 <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>

使用以下命令:
$leader=$(“.container.panel:not(.duplicate).面板名称:contains(“+$name+”)

首先,您没有类
名称
,您有
面板名称

其次,使用
.panel:not(.duplicate)
确保它查找具有类
panel
的元素,该类没有其他类
duplicate

工作演示

$(文档).ready(函数(){
函数isNamePresent($name){
$leader=$(“.container.panel:not(.duplicate).面板名称:contains(“+$name+”);
返回$leader.css(“颜色”、“蓝色”);
}
isNamePresent(“格雷格”);
});

杰夫

格雷格

彼得


玛丽

约翰

格雷格


使用以下命令:
$leader=$(“.container.panel:不(.duplicate).面板名称:包含(“+$name+”)

首先,您没有类
名称
,您有
面板名称

其次,使用
.panel:not(.duplicate)
确保它查找具有类
panel
的元素,该类没有其他类
duplicate

工作演示

$(文档).ready(函数(){
函数isNamePresent($name){
$leader=$(“.container.panel:not(.duplicate).面板名称:contains(“+$name+”);
返回$leader.css(“颜色”、“蓝色”);
}
isNamePresent(“格雷格”);
});

杰夫

格雷格

彼得


玛丽

约翰

格雷格


如果要查找重复项,为什么不直接搜索“duplicate”类;为什么你要跳过它?如果你想找到重复的,为什么不直接搜索类“duplicate”;你为什么要跳过它?谢谢你,它起作用了。我编辑了好几次,忘了更新我的问题。这就是为什么我把面板名作为一个类。@GregOstry没问题,很乐意帮忙这是正确的答案。注意:不仅仅是CSS伪选择器,它需要一个真正的选择器,比如id或类(在本例中为.panel)。我还可以建议使用“var$leader”而不是$leader。我认为本地范围界定正是你想要的。谢谢你,它起作用了。我编辑了好几次,忘了更新我的问题。这就是为什么我把面板名作为一个类。@GregOstry没问题,很乐意帮忙这是正确的答案。注意:不仅仅是CSS伪选择器,它需要一个真正的选择器,比如id或类(在本例中为.panel)。我还可以建议使用“var$leader”而不是$leader。我认为本地范围是你想要的。
$(document).ready(function() {

    function isNamePresent($name) {

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

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

    }

    isNamePresent("Greg");

});