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