Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果第四个父级有类,则将类添加到DIV_Javascript_Jquery_Html_Parent Child - Fatal编程技术网

Javascript 如果第四个父级有类,则将类添加到DIV

Javascript 如果第四个父级有类,则将类添加到DIV,javascript,jquery,html,parent-child,Javascript,Jquery,Html,Parent Child,我正在开发一个网站,其中有包含文本文章和图像的div(所有这些div都有class.article)。 我正在使用一个库,它可以检测元素何时滚动到视口并设置动画,在此过程中,它将类.aos animate添加到元素中 所有.article中都有一个DIV,id为#divider和class.dv。这样的div只是一条带有填充颜色的平面水平线,它只是用于设计,默认情况下宽度为0px 我想做的是,以某种方式检查.article是否有类.aos animate,如果有,则针对.article中包含的.

我正在开发一个网站,其中有包含文本文章和图像的div(所有这些div都有class
.article
)。 我正在使用一个库,它可以检测元素何时滚动到视口并设置动画,在此过程中,它将类
.aos animate
添加到元素中

所有
.article
中都有一个DIV,id为
#divider
和class
.dv
。这样的div只是一条带有填充颜色的平面水平线,它只是用于设计,默认情况下宽度为0px

我想做的是,以某种方式检查
.article
是否有类
.aos animate
,如果有,则针对
.article
中包含的
.divider
并添加类
.dv expand
(这将把#divider的宽度设置为100px。这只是一个很好的动画功能)

我首先尝试了这个,在页面滚动时触发:

if ($('.article').hasClass('aos-animate')) {
   $('.dv').addClass('dv-expand');
}
但是,它将
.dv expand
类应用于文档中的所有
.dv
s。 那么,有没有一种方法可以迭代一个函数来扫描所有的
.articles
,当它找到一个类为
.aos animate
,然后选择该DIV,找到其id为
#divide
(或class
.dv
)的子元素并对其应用一个类

顺便说一下,我的文档中的
.article
就是这样的:

<!-- Article 1 -->
<div id="at-1" class="article" data-aos="fade-up" data-aos-anchor-placement="top-center"> <!-- THIS IS THE DIV TO CHECK FOR AOS-ANIMATE CLASS -->
  <div id="tx-c-g">
     <div id="c-title">
        <p id="t-1" class="title">LOREM IPSUM DOLOR</p>
     </div>
     <div id="c-subset">
        <div id="c-span">
            <div id="divider" class="dv"></div> <!-- THIS IS THE DIV TO addClass('dv-expand') -->
        </div>
        <div id="c-plain" class="at-padd">
            <p id="pl-1" class="subtitle">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
        </div>
     </div>
  </div>
</div>
<!-- Article 1 End -->

LOREM IPSUM DOLOR

洛雷姆·伊普桑·多洛尔·西特·阿梅特(Lorem ipsum dolor sit amet),这是一位杰出的领导者

我目前每页有10篇文章,但它们都有相同的HTML,只是文本内容有所变化


很抱歉,如果标题不够具体,我没有找到一个简短的方法来描述这种情况。

您想尝试在每个函数中编写代码。因此,它仅适用于通过特定条件的匹配元素

var article =  $('.article');

$(article).each(function(){
   if($(this).hassClass('aos-animate')){
     $(this).find('.dv').addClass('dv-expand');
   }else{
     //optional if you want to remove class
   }

})

你想试试里面的代码,每个函数。因此,它仅适用于通过特定条件的匹配元素

var article =  $('.article');

$(article).each(function(){
   if($(this).hassClass('aos-animate')){
     $(this).find('.dv').addClass('dv-expand');
   }else{
     //optional if you want to remove class
   }

})

根据我的理解,您不需要
如果也需要
条件,只需将代码更改为

 $('.article.aos-animate .dv').addClass('dv-expand');

根据我的理解,您不需要
如果也需要
条件,只需将代码更改为

 $('.article.aos-animate .dv').addClass('dv-expand');

谢谢,事实上,它和使用这些特定的选择器一样简单。谢谢,事实上,它和使用这些特定的选择器一样简单。