我有一些这样的Html。
<div class="box span4">
<img src="demo/img/tile.png" />
</div>
<div class="box span4">
Hello
</div>
现在如果我的盒子中没有图像,我想要包装内部内容。它的工作方式就像没有IF的魅力,但我不能让它与IF一起工作。
if($('.box').find('img').length < 1){
$(this).wrapInner('<div class="box_inner" />');
}
我也尝试过:
if($('.box > img').length < 1){
$(this).wrapInner('<div class="box_inner" />');
}
我认为这很简单,之前我做过类似的事情,但是当内部没有图像时,似乎没有什么能够在盒子的内部内容周围获得另一个div。
我有什么问题吗?
答案 0 :(得分:3)
试试这个。用类框检查所有div。
$('.box').each(function(){
if($(this).find('img').length == 0){
$(this).wrapInner('<div class="box_inner" />');
}
});
答案 1 :(得分:3)
this
引用window
对象,您可以使用not
方法:
$('.box').not(':has(img)').wrapInner('<div class="box_inner" />');