父母div
包含多个div
s,一个名为div
的.div_object_last
应该总是在最后。如下例所示:
HTML
<div class="div_parent">
<div class="div_object">1</div>
<div class="div_object">2</div>
<div class="div_object_last"></div>
<div class="div_object">3</div> <!--- append -->
</div>
Javascript:
$('#div_parent').append('<div class="div_object">3</div>');
使用JS的预期结果:
<div class="div_parent">
<div class="div_object">1</div>
<div class="div_object">2</div>
<div class="div_object">3</div>
<div class="div_object_last"></div> <!--- moved to end --->
</div>
我想知道是否有可能在追加事件后将div_object_last
放在最后?
选择.div_object_last
并使用before()
添加新内容:
$('.div_parent .div_object_last').before('<div class="div_object">3</div>');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="div_parent">
<div class="div_object">1</div>
<div class="div_object">2</div>
<div class="div_object_last">Last</div>
</div>
要在最后一个子元素之前插入元素:
$('.div_parent').children().last().before('<div class="div_object">3</div>');
要将现有元素移动到最后一个:
$('.div_object_last').appendTo('.div_parent');
将el1
移到el2
上方/下方:
// Above
$(el1).before(el2);
// Below
$(el1).after(el2);
您可以尝试这种动态方式:
$('.div_parent').append($('.div_parent .div_object_last'));
$('.div_parent div:last').before('<div class="div_object">3</div>');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="div_parent">
<div class="div_object">1</div>
<div class="div_object">2</div>
<div class="div_object_last">Last</div>
</div>