8

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

查询:

$(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>');   
};

});
});
4

1 回答 1

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('...');   
};
于 2012-08-14T21:08:16.570 回答