如何使用Javascript编程改变html中的div位置?

时间:2017-12-22 11:40:38

标签: javascript jquery html

div包含多个div,一个名为div的{​​{1}}应该始终在最后。如下例所示:

HTML

.div_object_last

Javascript:

<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>

使用JS的预期结果:

$('#div_parent').append('<div class="div_object">3</div>');

我想知道在追加事件发生后是否可以将<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> 放在最后?

4 个答案:

答案 0 :(得分:2)

选择.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>

答案 1 :(得分:1)

要在最后一个子元素之前插入元素:

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

答案 2 :(得分:1)

您可以尝试这种动态方式:

$('.div_parent').append($('.div_parent .div_object_last'));

答案 3 :(得分:0)

 $('.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>