如果有特定的班级,则将班级添加到父级div

Aar*_*iba 0 html javascript jquery addclass

尝试将类添加到父div(<div class="widget-content">如果.widget-content li a具有特定的类).ifthis

HTML:

<div class="widget-content">
<ul>
<li><a href="https://twitter.com/slycolor" class="ifthis"> <b>This Text Should Red</b></a>
</li>

<li><a href="https://www.facebook.com/slycolor" class="ifthis"> <b>This Text Should Red</b></a>
</li>
</ul>
</div>
Run Code Online (Sandbox Code Playgroud)

我已经试过了:

$('.widget-content li a').has('.ifthis').parent('.widget-content').addClass('social-sidebar'); 
Run Code Online (Sandbox Code Playgroud)

但没有工作,看到这个例子小提琴

Pra*_*lan 5

选择有班级的孩子,ifthis然后使用parents()或选择其父级closest()

$('.widget-content li a.ifthis').parents('.widget-content').addClass('social-sidebar'); 
Run Code Online (Sandbox Code Playgroud)

要么

$('.widget-content li a.ifthis').closest('.widget-content').addClass('social-sidebar');
Run Code Online (Sandbox Code Playgroud)

您的代码无法正常工作,因为,

  1. has()只会检查它的后代是否包含该选择器,而您需要filter()
  2. parent()只会选择直接父母,因此您应该使用parents()closest()

用你的代码:

$('.widget-content li a').filter('.ifthis').parents('.widget-content').addClass('social-sidebar'); 
Run Code Online (Sandbox Code Playgroud)