Jquery 查找div中具有特定类的所有元素
我正在尝试选择父div中具有类“selected”的所有元素。它必须仅限于此div中的元素,因为html中的某些元素也具有此类,但我们不想影响它们Jquery 查找div中具有特定类的所有元素,jquery,Jquery,我正在尝试选择父div中具有类“selected”的所有元素。它必须仅限于此div中的元素,因为html中的某些元素也具有此类,但我们不想影响它们 <div id=1> <ul> <li class="list all">ALL</li> <li class="list selected">1</li> <li class="list">2</li&g
<div id=1>
<ul>
<li class="list all">ALL</li>
<li class="list selected">1</li>
<li class="list">2</li>
</ul>
<ul>
<li class="list">3</li>
<li class="list selected">4</li>
</ul>
<ul>
<li class="list selected">5</li>
<li class="list selected">6</li>
</ul>
</div>
<div id=2>
<ul>
<li class="list all">ALL</li>
<li class="list">1</li>
<li class="list">2</li>
</ul>
<ul>
<li class="list selected">3</li>
<li class="list">4</li>
</ul>
<ul>
<li class="list">5</li>
<li class="list selected">6</li>
</ul>
</div>
我认为我的each循环可能是错误的,我不确定如何在包含的div中执行每个循环。尝试以下操作:不要筛选每个
.selected
,而是可以获取其父div
,然后使用class=“selected”
查找所有元素以删除selected
类
$('.all').click(function(){
$(this).closest('div').find('.selected').removeClass('selected');
$(this).addClass('selected');
});
单击中的$('.selected')
代码不被父项过滤。它所做的是找到div
,它是每个所选的父类。匹配并删除该类。这实际上是一个更简单的解决方案:
$('.all').click(function() {
$('.selected', $(this).closest('div')).removeClass('selected');
$(this).addClass('selected');
});
您可以使用:
$('.all').click(function(){
$(this).closest('div').find('.selected').removeClass('selected');
$(this).addClass('selected');
});
find是否与每个都一样?i、 e.选择其试图“查找”的所有元素?是,查找将使用class=“selected”选择父div内的所有元素,并从所有找到的元素中删除class selected。看到这个了吗
$('.all').click(function(){
$(this).closest('div').find('.selected').removeClass('selected');
$(this).addClass('selected');
});