JQuery:通过 class 选择不是特定于儿童的元素 class
JQuery: selecting elements by class that are not children specific class
使用 JQuery,我想 select 所有不是“.slick-cloned”子元素的“.fittext”元素。
这是我的代码:
<div class="slick-slide slick-cloned">
<div class="item">
<div class="fittext"></div>
</div>
</div>
<div class="slick-slide active">
<div class="item">
<div class="fittext"></div>
</div>
</div>
<div class="slick-slide">
<div class="item">
<div class="fittext"></div>
</div>
</div>
<div class="slick-slide slick-cloned">
<div class="item">
<div class="fittext"></div>
</div>
</div>
我的 selector 应该是什么样子?
我尝试了各种组合,但似乎做不对......我最后一次尝试是:
'$(".slick-slide .fittext").not('.slick-slide.slick-cloned')'
提前致谢!
您需要使用 :not
选择器
$(".slick-slide:not(.slick-cloned) .fittext")
您可以使用:
$('.slick-slike').not('.slick-cloned').find('.fittext');
要获得通用解决方案,您可以使用 .filter( fn )
:
$('.fittext').filter(function() {
return $(this).closest('.slick-cloned').length == 0;
});
$('.fittext').filter(function() {
return $(this).closest('.slick-cloned').length == 0;
})
.text('THIS');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="slick-slide slick-cloned">
<div class="item">
<div class="fittext">x</div>
</div>
</div>
<div class="slick-slide active">
<div class="item">
<div class="fittext">x</div>
</div>
</div>
<div class="slick-slide">
<div class="item">
<div class="fittext">x</div>
</div>
</div>
<div class="slick-slide slick-cloned">
<div class="item">
<div class="fittext">x</div>
</div>
</div>
也可以通过.each()实现,如下::
$(".slick-slide").each(function(){
if(!$(this).hasClass("slick-cloned"))
{
alert($(this).find("div.fittext").text());
}
});
使用 JQuery,我想 select 所有不是“.slick-cloned”子元素的“.fittext”元素。
这是我的代码:
<div class="slick-slide slick-cloned">
<div class="item">
<div class="fittext"></div>
</div>
</div>
<div class="slick-slide active">
<div class="item">
<div class="fittext"></div>
</div>
</div>
<div class="slick-slide">
<div class="item">
<div class="fittext"></div>
</div>
</div>
<div class="slick-slide slick-cloned">
<div class="item">
<div class="fittext"></div>
</div>
</div>
我的 selector 应该是什么样子? 我尝试了各种组合,但似乎做不对......我最后一次尝试是:
'$(".slick-slide .fittext").not('.slick-slide.slick-cloned')'
提前致谢!
您需要使用 :not
选择器
$(".slick-slide:not(.slick-cloned) .fittext")
您可以使用:
$('.slick-slike').not('.slick-cloned').find('.fittext');
要获得通用解决方案,您可以使用 .filter( fn )
:
$('.fittext').filter(function() {
return $(this).closest('.slick-cloned').length == 0;
});
$('.fittext').filter(function() {
return $(this).closest('.slick-cloned').length == 0;
})
.text('THIS');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="slick-slide slick-cloned">
<div class="item">
<div class="fittext">x</div>
</div>
</div>
<div class="slick-slide active">
<div class="item">
<div class="fittext">x</div>
</div>
</div>
<div class="slick-slide">
<div class="item">
<div class="fittext">x</div>
</div>
</div>
<div class="slick-slide slick-cloned">
<div class="item">
<div class="fittext">x</div>
</div>
</div>
也可以通过.each()实现,如下::
$(".slick-slide").each(function(){
if(!$(this).hasClass("slick-cloned"))
{
alert($(this).find("div.fittext").text());
}
});