我需要在第一个标签后立即向div添加一个类。
我的HTML就是这样:
<label class="twc-first active">3DTV</label>
<div class="content mobile">
<ul class="content">
</ul>
<h3>Secondary Topic Content</h3>
<ul class="secondaryContent">
</ul>
</div>
<label>Auto HD</label>
<div class="content">
<ul class="content">
</ul>
<h3>Secondary Topic Content</h3>
<ul class="secondaryContent">
</ul>
</div>
我已经在使用jQuery来查找标签:首先添加twc-first和active类。我现在需要的是抓住
<div class="content">
并成功:
<div class="content mobile">
紧接着之后
<label class="twc-first active">.
我尝试了.closest()
,.next()
等多种组合,但没有运气。
我认为这很接近,但绝对不是没有雪茄。 (此时前两行正在精彩地工作)
$('.twc-FAQTopics label:first').addClass('twc-first').addClass('active');
$('.twc-FAQTopics label:last').addClass('twc-last');
$('.twc-FAQTopics label:first').next('div.content').addClass('mobile');
答案 0 :(得分:1)
您可以使用.next()
从标签中找到div。我没有看到任何理由使用:first
作为选择器,因为第一个标签已经有一个类,而第二个标签没有。
$('label.twc-first').next('div.content').addClass('someClass');
答案 1 :(得分:1)
div
紧跟在label
之后, .next()
有效。
如果label
和div
之间还有其他元素,则无效。
演示:http://jsfiddle.net/dirtyd77/uPHk6/6/
否则,您必须使用.nextAll()
:
$('label:first').nextAll('div:eq(0)').addClass('classHere')
样本: http://jsfiddle.net/dirtyd77/uPHk6/7/
的更新:强> 的
您还可以使用Next Siblings Selector (~)
:
//without :first in div:first, it will return all subsequent divs
$('label:first ~ div:first').addClass('classHere');