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

时间:2012-08-14 21:03:44

标签: jquery html

我一直在这里搜索一段时间,但找不到任何关于此事的内容。我拥有的是父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>');   
};

});
});

1 个答案:

答案 0 :(得分:10)

您可以使用:first选择器,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('...');   
};