Javascript 用于跳过元素的querySelector

Javascript 用于跳过元素的querySelector,javascript,css,dom,jquery-selectors,Javascript,Css,Dom,Jquery Selectors,我有一个关于查询选择器的问题。有没有一种方法可以搜索html文件中的所有p元素,但跳过特定div中的p元素 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <div> <p>hit</p>

我有一个关于查询选择器的问题。有没有一种方法可以搜索html文件中的所有p元素,但跳过特定div中的p元素

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
 <div>
     <p>hit</p>
     <p>hit</p>
     <p>hit</p>
     <div>
         <p>hit</p>
         <p>hit</p>
         <p>hit</p>
         <p>hit</p>

     </div>
 </div>
<div class="donthit">
    <p>dont</p>
    <p>find</p>
    <p>us</p>
</div>
</body>
</html>

这就是我的html示例。是否有一种方法可以获取所有p元素,但不能获取div class=donthit中的元素?

您可以使用.not方法或:not选择器

基于您的示例的代码:

$("div:not(.donthit)").children("p")   // not selector 
$("div").not(".donthit").children("p") // not method

您可以首先获取所有div,但不包含特定的div,然后在其中找到p元素:

$'div:not.donthit'.children'p'.addClass'red'; 瑞德先生{ 边框:1px纯红; } 击中

击中

击中

击中

击中

击中

击中

不要

发现

美国


通过使用element.parentNode,可以获得p的父元素。然后,检查父元素是否具有类名=donthit@PraveenKumarPurushothaman因为没人看见你,你决定以复制品的形式结束吗?@TemaniAfif在我看来是个可怜的复制品。这是一样的。@PraveenKumarPurushothaman这是不一样的,重复的是关于实现not选择器。。在这里,它将要找到正确的选择器,可能涉及到not selector。。。有点困惑。你确定这不是dupe?该类不应用于p元素