Jquery - 使用 each() 获取 class 元素的位置
Jquery - using each() to get position of a class element
我需要知道"owl-item active"的位置,我知道当前位置是2,一共有3张照片。
<div style="transform: translate3d(-825px, 0px, 0px); transition: all 0.25s ease 0s; width: 48675px;" class="owl-stage">
<div style="width: 825px; margin-right: 0px;" class="owl-item">
<div class="gallery-item" style="background-image: url('/image/144/1.jpg');"></div>
</div>
<div style="width: 825px; margin-right: 0px;" class="owl-item active">
<div class="gallery-item" style="background-image: url('/image/144/2.jpg');"></div>
</div>
<div style="width: 825px; margin-right: 0px;" class="owl-item">
<div class="gallery-item" style="background-image: url('/image/144/3.jpg');"></div>
</div>
</div>
如何使用 Jquery .each() 获取此 "owl-item active" 的位置?
我有这段代码,但找不到代码告诉我这个 "owl-item active" 在位置 2 的方法。
$('.owl-stage .owl-item').each(function( index, currentElement ) {
console.log( index+1 );
//console.log( $(currentElement).find('div.owl-item.active') );
});
有人可以告诉我如何做吗?
您需要使用hasClass
方法:
$('.owl-stage .owl-item').each(function( index, currentElement ) {
if( $( this ).hasClass( 'active' ) ) {
console.log( index+1 );
}
});
但是您可以通过将选择器传递给 index
方法来更轻松地使用它:
console.log( $('.owl-stage .active').index( '.owl-item' ) + 1 );
$(function() {
console.log( '.active index is', $('.owl-stage .active').index( '.owl-item' ) + 1 );
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div style="transform: translate3d(-825px, 0px, 0px); transition: all 0.25s ease 0s; width: 48675px;" class="owl-stage">
<div style="width: 825px; margin-right: 0px;" class="owl-item">
<div class="gallery-item" style="background-image: url('/image/144/1.jpg');"></div>
</div>
<div style="width: 825px; margin-right: 0px;" class="owl-item active">
<div class="gallery-item" style="background-image: url('/image/144/2.jpg');"></div>
</div>
<div style="width: 825px; margin-right: 0px;" class="owl-item">
<div class="gallery-item" style="background-image: url('/image/144/3.jpg');"></div>
</div>
</div>
我需要知道"owl-item active"的位置,我知道当前位置是2,一共有3张照片。
<div style="transform: translate3d(-825px, 0px, 0px); transition: all 0.25s ease 0s; width: 48675px;" class="owl-stage">
<div style="width: 825px; margin-right: 0px;" class="owl-item">
<div class="gallery-item" style="background-image: url('/image/144/1.jpg');"></div>
</div>
<div style="width: 825px; margin-right: 0px;" class="owl-item active">
<div class="gallery-item" style="background-image: url('/image/144/2.jpg');"></div>
</div>
<div style="width: 825px; margin-right: 0px;" class="owl-item">
<div class="gallery-item" style="background-image: url('/image/144/3.jpg');"></div>
</div>
</div>
如何使用 Jquery .each() 获取此 "owl-item active" 的位置?
我有这段代码,但找不到代码告诉我这个 "owl-item active" 在位置 2 的方法。
$('.owl-stage .owl-item').each(function( index, currentElement ) {
console.log( index+1 );
//console.log( $(currentElement).find('div.owl-item.active') );
});
有人可以告诉我如何做吗?
您需要使用hasClass
方法:
$('.owl-stage .owl-item').each(function( index, currentElement ) {
if( $( this ).hasClass( 'active' ) ) {
console.log( index+1 );
}
});
但是您可以通过将选择器传递给 index
方法来更轻松地使用它:
console.log( $('.owl-stage .active').index( '.owl-item' ) + 1 );
$(function() {
console.log( '.active index is', $('.owl-stage .active').index( '.owl-item' ) + 1 );
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div style="transform: translate3d(-825px, 0px, 0px); transition: all 0.25s ease 0s; width: 48675px;" class="owl-stage">
<div style="width: 825px; margin-right: 0px;" class="owl-item">
<div class="gallery-item" style="background-image: url('/image/144/1.jpg');"></div>
</div>
<div style="width: 825px; margin-right: 0px;" class="owl-item active">
<div class="gallery-item" style="background-image: url('/image/144/2.jpg');"></div>
</div>
<div style="width: 825px; margin-right: 0px;" class="owl-item">
<div class="gallery-item" style="background-image: url('/image/144/3.jpg');"></div>
</div>
</div>