jQuery:如果child有类,则将class / css添加到parent

时间:2016-06-16 14:18:05

标签: javascript jquery hover parent-child addclass

我想将悬停函数添加到(a)如果它的子(img)有类.ls-thumb-active ...这是一个html的例子

<a href="#" class="ls-thumb-1" style="width: 400px; height: 125px;">
    <img src="http://ldngrp.co/wp-content/uploads/2014/10/apprenticeships.jpg" class style="opacity: 0.7"></a>

<a href="#" class="ls-thumb-2" style="width: 400px; height: 125px;">
   <img src="http://ldngrp.co/wp-content/uploads/2014/10/apprenticeships.jpg" class="ls-thumb-active" style="opacity: 1"></a>

这是一个wordpress插件,并且已经有一个悬停事件(不透明度为0.7&gt; 1),但是我想在子(img)有类.ls-时将css样式添加到父(a)拇指活跃......我已经将这些风格应用于css中的.shadow ......

box-shadow: 0 0 40px 1px rgba(17,17,17,0.2);
z-index: 2;

我想出了几行jQuery,但我不知道为什么它不起作用!这是我到目前为止所尝试的......

$('a.ls-thumb-1:has(img.ls-thumb-active)').addClass('shadow');
$('.ls-thumb-active').parent().addClass('shadow');
$( "a:has(img.ls-thumb-active)" ).addClass( "shadow" );
$('a:has(.ls-thumb-active)').addClass('shadow');

非常感谢任何帮助!

谢谢:)

1 个答案:

答案 0 :(得分:0)

你很亲密......
你只需要选择不同的方式 $('a .ls-thumb-active').addClass('shadow');

只要该DOM元素在页面加载时可用,它就应该工作。

编辑(每个OP的原始请求):

$.fn.addShadowToParent = function() {
    this.parent().addClass('shadow');
};

$('a .ls-thumb-active').addShadowToParent();

Codepen

注意: 在WordPress上,您通常必须使用jQuery代替$才能使其正常运行。