【问题标题】:addClass on click, then recount total classes点击添加类,然后重新计算总类
【发布时间】: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


【解决方案1】:

我只是把html改成:

<div>here</div>
<div class="right"></div>
<div class="right"></div>
<div class="right"></div>

看看这个小提琴:

http://jsfiddle.net/arvind07/ZJSqY/ 你的代码工作正常... 告诉我如何点击空的 div 容器?

【讨论】:

  • 您根本没有更改 HTML。我不明白为什么人们不试图找出问题就急于发布毫无意义的答案。
  • 现有提供的代码运行良好。空白div有什么用。
  • 空白 div 是因为我没有添加 css,但我担心我误解了我的问题来自哪里,我用真正的问题编辑了我的帖子..
猜你喜欢
  • 2012-12-09
  • 1970-01-01
  • 2023-03-03
  • 1970-01-01
  • 1970-01-01
  • 2023-01-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多