我有滑块,我想获得前一个div并将class =“prev”添加到此
中<div class="mb-panel" >
<div class="mb-inside">
<div id="container_1" class="mymasonryclass masonry">Example 1</div>
</div>
</div>
<div class="mb-panel current">
<div class="mb-inside">
<div id="container_2" class="mymasonryclass masonry current">Example 1</div>
</div>
</div>
在这里,我想要一个类似“mymasonryclass masonry prev”的课程,用于前一个div并以动态方式。
我已经使用了jquery。
我试过下面的代码:
$('.mymasonryclass').each(function(index, value){
var cname = $(this).attr('class');
if(cname.indexOf('current') != -1)
{
var div= $(this).parent('div');
var prev= $(div).prev();
var output;
var x = $('.mb-inside');
$('.mb-inside').each(function(index,value){
var t1 = $(this).find('div.current');
if(t1.length > 0)
{
var output = $('.mb-inside')[index-1];
if(index-1 > 0)
output.css('float', 'right');
}
});
}
});
但它不起作用。
答案 0 :(得分:2)
鉴于上述结构,这可能是你所追求的:
var $previousPanel = $('.mb-panel.current').prev(); // get previous panel
$previousPanel.addClass('prev'); // add class to panel
$previousPanel.find('.masonry').addClass('prev'); // add class to inner div too
答案 1 :(得分:0)
你可以使用我的直播[[1]:http://jsfiddle.net/liyakat/SB6N3/] [1]
只有一个静态div,你可以根据你的要求使其动态
$(document).ready(function() {
$("#container_2").hover(
function () {
$(this).parents(".mb-panel").prev().find('div.mymasonryclass').addClass('prev');
},
function () {
// $(this).removeClass("hover");
}
);
});
答案 2 :(得分:0)
我尝试过以下代码并且可以正常使用
var a = $('.mb-panel.current').prev();
var b = a.find('.mymasonryclass.masonry');
if(b)
b.css('float', 'right');