如果父级没有X类,jQuery

时间:2012-02-15 17:36:06

标签: javascript jquery

我有以下标记:

<li id="fragment-3" class="slides virtualsation ui-tabs-panel" style="">
  <h1>Virtualisation</h1> 
  <p>By implementing virtualisation into Halton Borough Council Cetus Solutions managed to save them over £250,000 in annual expenditure.</p>
  <div class="animation">
    <div class="big-server" style="display: block;"><img src="_includes/images/sliders/big-server.png"></div>
    <div class="arrow" style="display: block;"><img src="_includes/images/sliders/arrow.png"></div>
    <div class="small-server-one" style="display: block;"><img src="_includes/images/sliders/small-server.png"></div>
    <div class="small-server-two" style="display: block;"><img src="_includes/images/sliders/small-server.png"></div>
    <div class="small-desktop" style="display: block;"><img src="_includes/images/sliders/small-desktop.png"></div>
  </div>
</li>

动画div中的子元素全部淡入:

$('.big-server').fadeIn(100);
$('.arrow').fadeIn(450);
$('.small-server-one').fadeIn(700);
$('.small-server-two').fadeIn(800);
$('.small-desktop').fadeIn(2000);

父LI(id为'fragment-3'是幻灯片放映的一部分,当它处于活动状态时,类'ui-tabs-hide'将被删除。

我需要编写一个函数,这样当div中淡入的父LI不是ui-tabs-hide时,函数就会运行,元素会淡入,这有意义吗?任何帮助将不胜感激!

3 个答案:

答案 0 :(得分:2)

您可以使用.closest()。例如:

if(!$("div.animation").closest(".ui-tabs-hide").length) {
    // parent is not .ul-tabs-hide    
}

答案 1 :(得分:0)

if(!$('#fragment-3').hasClass('ui-tabs-hide'))
{
   // Do Your Work
}

答案 2 :(得分:0)

使用.closest().hasClass()

if (!$fadingInDiv.closest("li").hasClass("ui-tabs-hide")) {
    ...
}

或者,您可以使用.is()

if (!$fadingInDiv.is(".ui-tabs-hide *")) {
    ...
}

你有选择。