有些DIVs将有一个名为outage的锚名,这些名称应该是addClass outage到父类.modAcTitle,结果是<div class="modAcTitle outage">This is a title.</div> --我不能为标题添加任何唯一的东西,所以这是我唯一能做的概念。
但是,下面的方法很糟糕,因为它将.outage添加到每个.modAcTitle中,而不是在其内容中包含outage锚的标题。
我做错了什么?
$('a[name=outage]').parent().parent().parent().find('.modAcTitle').addClass("outage")以下是我的DIV结构和演示:https://jsfiddle.net/61za2n72/7/
<div id="ac_expand_0" class="modAc">
<div class="modAcTitle">This is a title.</div>
<div class="modAcContent" style="display: none;"><p><a name="outage"></a>This is Content and it has a unique name tag called outage</p>
</div>
<div class="modAcTitle">This is a title</div>
<div class="modAcContent" style="display: none;"><p><a name="outage"></a>This is Content and it has a unique name tag called outage</p>
</div>
<div class="modAcTitle">This is a title</div>
<div class="modAcContent" style="display: none;"><p>This is content, but it doesn't have a name tag.</p>
</div>
</div>发布于 2016-08-16 15:40:30
您的DOM遍历并不完全正确。您可以通过使用closest()和prev()来修复和简化它,如下所示:
$('a[name=outage]').closest('.modAcContent').prev('.modAcTitle').addClass('outage');https://stackoverflow.com/questions/38979069
复制相似问题