使用jQuery计算确切的子项数

时间:2017-03-30 08:54:51

标签: jquery

我试图找到一个孩子的确切数,然后将一个类添加到匹配该类的另一个元素,在这个例子中是父(它不是我试图实现这个的直接父级)。

$(".test").each(function(index, elem) {
  var countchild = $(this).find(".child");
  if (countchild.length > 4) {
    $(".test").addClass("four")
  } else {}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="test">
  <div class="child">1</div>
  <div class="child">2</div>
  <div class="child">3</div>
  <div class="child">4</div>
</div>

3 个答案:

答案 0 :(得分:0)

试试这个:

$('.test').find('.child').length;

在子计数的基础上,您可以添加类:

var arr = ['zero', 'one', 'two', 'three', 'four'];
var count = $('.test').find('.child').length;
$('.test').addClass('one');

Updated Fiddle

答案 1 :(得分:0)

要实现此目的,您可以将适当的类名存储在数组中。然后,您可以根据找到的子项的数量通过索引访问正确的类,如下所示:

&#13;
&#13;
View view = ctx.getWindow().getDecorView();
view.setDrawingCacheEnabled(true);

Bitmap bmap = view.getDrawingCache();    

int contentViewTop = ctx.getWindow().findViewById(Window.ID_ANDROID_CONTENT).getTop(); /* skip status bar in screenshot */
Storage.shareBitmapInfo = Bitmap.createBitmap(bmap, 0, contentViewTop, bmap.getWidth(), bmap.getHeight() - contentViewTop, null, true);

view.setDrawingCacheEnabled(false);
&#13;
var classArr = ['foo', 'bar', 'fizz', 'buzz'];

$(".test").each(function(index, elem) {
  $(this).addClass(classArr[$(this).find('.child').length - 1]);
});
&#13;
.bar { color: #0C0; }
.buzz { color: #C00; }
&#13;
&#13;
&#13;

答案 2 :(得分:0)

为什么不尝试这个:

 var countchild = $(".test > .child");
 if (countchild.length > 4) {
    $(".test").addClass("four")
  } else {
  }

仅供参考,

.test > .child只会选择直接子项进行测试的子项(也就是说,其间没有其他元素)。

.test .child将选择任何内部测试的子项,即使它们之间还有其他元素。