使用jQuery选择不在特定父项下的所有DOM元素

这是我的html结构的简单示例

<div>
    <p class="doNotWant">
        HTML stucture is not set in stone
        <a class="linkToSelect">do not want</a> 
    </p>
</div>
<p>
   html structure and tags may vary,very simplified example
   <a class="linkToSelect">want this one</a> 
</p>

然后,我尝试仅选择链接 不在 中的javascript中的“ doNotWant”父类...

$(document).on('click','.linkToSelect',function (e) { 
    // this code selects both links
    console.log('my logic'); 
}

我尝试使用:not(),但尚未成功。

gshj2003 回答:使用jQuery选择不在特定父项下的所有DOM元素

使用:not()将选择器更改为:

$(document).on('click','p:not(".doNotWant") .linkToSelect',function(e) {

$(document).on('click',function(e) {
  // this code selects both links
  console.log('my logic');
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div>
  <p class="doNotWant">
    HTML stucture is not set in stone
    <a class="linkToSelect">do not want</a>
  </p>
</div>
<p>
  html structure and tags may vary,very simplified example
  <a class="linkToSelect">want this one</a>
</p>

,

在Jquery中,您可以使用// ... greeting.z 选择器。

如果您不知道父元素但知道其父元素是:not(),则可以执行以下操作。

div

这里是fiddle

本文链接:https://www.f2er.com/3165203.html

大家都在问