jquery – 将HTML附加到父级中的第一个空div

我一直在这里搜索一段时间,但找不到任何关于此的内容.我拥有的是父div中的一组div.当用户单击比较复选框时,我想将包含数据缩略图HTML附加到第一个空div.因此,如果用户点击三个要比较的东西,第一个将进入div1,第二个进入div2,依此类推.我希望在 JQuery中这样做.

以下是我所拥有的:

<div id="my_cars_compare" class="my_cars_expanded" style="height: 45px;">   
<span class="my_cars_heading">
    X cars added to My Cars <span class="expand_it">Expand</span>
</span>
    <div id="my_cars_1" class="my_cars_empty first"></div>
    <div id="my_cars_2" class="my_cars_empty"></div>
    <div id="my_cars_3" class="my_cars_empty"></div>
    <div id="my_cars_4" class="my_cars_empty"></div>
    <div id="my_cars_5" class="my_cars_empty"></div>
    <div id="my_cars_6" class="my_cars_empty"></div>
    <input type="submit" value="Compare" class="btn_compare" />
    <br clear="all" />
</div>

JQuery的:

$(document).ready(function()
{
$('.compare_click').click(function() {
var dataThumbnail = $(this).parent('td').find('img.clicked').attr('data-thumbnail');

var my_cars_count = $('.my_cars_expanded').children('div').length;

for ( my_cars_count >= 6 ) {


    $('.my_cars_expanded').find('div:empty').append('<div class="my_cars_details" style="position: relative;"><div class="my_cars_delete"><img src="btn_mycars_close_overlay.png" /></div><div class="my_cars_photo"><img src="'+dataThumbnail+'" width="67px" /></div></div>');   
};

});
});

解决方法

您可以使用:first selector,div:empty选择所有空div标签
$('.my_cars_expanded').find('div:empty:first').append('...');

你的for循环的语法就像if语句,我想你想使用if语句.

var my_cars_count = $('.my_cars_expanded').find('div:empty').length;
if ( my_cars_count > 0 ) {
     $('.my_cars_expanded').find('div:empty:first').append('...');   
};

相关文章

jQuery插件的种类 1、封装对象方法 这种插件是将对象方法封装起来,用于对通过选择器获取的jQuery对象进...
扩展jQuery插件和方法的作用是非常强大的,它可以节省大量开发时间。 入门 编写一个jQuery插件开始于给...
最近项目中需要实现3D图片层叠旋转木马切换的效果,于是用到了jquery.roundabout.js。 兼容性如图: ht...
一、什么是deferred对象? 开发网站的过程中,我们经常遇到某些耗时很长的javascript操作。其中,既有异...
AMD 模块 AMD(异步模块定义,Asynchronous Module Definition)格式总体的目标是为现在的开发者提供一...