【问题标题】:Add class depending on number of child divs根据子 div 的数量添加类
【发布时间】:2013-01-16 20:13:06
【问题描述】:

我有一个父 div,其中将动态添加 2 到 4 个子 div。我需要计算子 div,然后根据子元素的数量向父 div 添加一个类。

<div id="parent">
   <div class="child">content</div>
   <div class="child">content</div>
   ...
</div>

基本上,我需要用jquery来表示:

如果有 4 个子 div,则将类“.four”添加​​到父 div。

如果有 3 个子 div,则将类“.three”添加到父 div。

如果有 2 个子 div,则将类“.two”添加到父 div。

我想我需要使用 .length(),但我不知道如何将它们组合在一起。我非常感谢任何建议。

谢谢!

【问题讨论】:

  • 为了帮助可能需要这个的其他人,这里有一个小提琴,显示了 dystroy 建议的答案。有用!只需添加或删除子 div 即可查看更改。 jsfiddle.net/VR2Zq

标签: jquery addclass


【解决方案1】:

一种方法:

$('#parent').removeClass().addClass(function(){
    return ["none", "one", "two", "three", "four"]
       [$(this).children('.child').length];
});

【讨论】:

  • 不错。但是如果添加另一个元素,则需要删除以前的值。我只是设置 CLASS 而不是添加它。
  • 非常感谢 Dystroy!那工作得很好。为了帮助我理解,这如何将这些类与计数一起添加?是 [ ] 括号这样做吗?
猜你喜欢
  • 2011-08-28
  • 1970-01-01
  • 2012-08-18
  • 1970-01-01
  • 2020-04-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-26
相关资源
最近更新 更多