【发布时间】:2012-12-07 22:06:42
【问题描述】:
我在 slideimg div 中有元素,我向其中添加了一个类。
我想在单击时为没有类的元素提供类 slideright,然后再重新计算类为 slideright 的元素。
<div id="slideimg">
<img src="images/portfolio/1.jpg" alt="image1" />
<img src="images/portfolio/2.jpg" alt="image2" />
<img src="images/portfolio/3.jpg" alt="image3" />
<img src="images/portfolio/4.jpg" alt="image4" />
</div>
var slideimg = $('#slideimg');
//add classes to images
slideimg.children().eq(0).addClass('slidecontent');
slideimg.children().slice(1, 4).addClass('slideright');
var slideright = $('.slideright');
var slidecontent = $('.slidecontent');
var totalrightimg = slideright.size();
slidecontent.click(function(){
$(this).addClass('slideright').removeClass('slidecontent');
totalrightimg = slideright.size();
alert(totalrightimg);
});
【问题讨论】:
-
您的代码运行良好:jsfiddle.net/VZvur。您的
div元素是动态附加的吗? -
未附加,总共有 4 项,我使用 slice 函数获取最后 3 项并向它们添加正确的类。 $('body').children('div').slice(1,3).addClass('right')
-
那么请发布您的实际代码,因为您发布的代码不会重现问题。
-
我认为您的问题是
you are not clicking the div 1 at first to add the class。因此.size()的.right is 3。 -
@Jai 几乎可以肯定这是虚拟 HTML,因为如果 OP 无法单击该元素,则根本不会发生警报。
标签: jquery class size alert slice