我有一些固定的HTML,我需要根据类newgroup
的元素将类设置为元素relatedheader
。正如您在HTML中看到的那样,第一个元素有一个字符串 - Accessories
。我想用类newgroup
给出该元素下面的三个元素,以使该类基于该字符串。然后我希望下一组具有来自下一个relatedheader
元素的类。
如何使用jQuery或vanilla JS执行此操作?我想第一步是将relatedheader
元素作为父元素?
到目前为止我得到了什么:
$('.relatedheader').nextUntil('.relatedheader').addClass('selected');
如何让脚本动态地使用class releatedheader元素?
<div class="relatedheader">
<span class="unfoldedlabel" colspan="6">
<a>Accessories/</a>
</span>
</div>
<div class="newgroup"></div>
<div class="newgroup"></div>
<div class="newgroup"></div>
<div class="relatedheader">
<span class="unfoldedlabel" colspan="6">
<a>computers/</a>
</span>
</div>
<div class="newgroup"></div>
<div class="newgroup"></div>
<div class="newgroup"></div>
答案 0 :(得分:1)
你走了:
$(document).ready(function(){
$(".unfoldedlabel a").each(function(){
if($(this).text() != "")
{
$(this).closest(".relatedheader").nextUntil(".relatedheader").addClass($(this).text().replace("/",""));
}
});
});
链接到JSFIDDLE
答案 1 :(得分:0)
这是工作fiddle。
$('.relatedheader').find('a').each(function() {
$(this).parents('.relatedheader').nextUntil('div.relatedheader').addClass('selected');
});
在上面的示例中,我循环遍历a
内的每个.relatedheader
,然后将selected
类添加到所有元素,直到下一个.relatedheader
。
注意:如果您只想根据.relatedheader
a
选择或某个事件将这些类添加到下一组元素,那么您可以将此功能绑定到该事件仅
希望这是你所需要的!