我试图找到一个孩子的确切数,然后将一个类添加到匹配该类的另一个元素,在这个例子中是父(它不是我试图实现这个的直接父级)。
$(".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>
答案 0 :(得分:0)
试试这个:
$('.test').find('.child').length;
在子计数的基础上,您可以添加类:
var arr = ['zero', 'one', 'two', 'three', 'four'];
var count = $('.test').find('.child').length;
$('.test').addClass('one');
答案 1 :(得分:0)
要实现此目的,您可以将适当的类名存储在数组中。然后,您可以根据找到的子项的数量通过索引访问正确的类,如下所示:
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;
答案 2 :(得分:0)
为什么不尝试这个:
var countchild = $(".test > .child");
if (countchild.length > 4) {
$(".test").addClass("four")
} else {
}
仅供参考,
.test > .child
只会选择直接子项进行测试的子项(也就是说,其间没有其他元素)。
.test .child
将选择任何内部测试的子项,即使它们之间还有其他元素。