javascript - 将元素向上移动 2 个位置

标签 javascript html jquery jquery-selectors

我正在尝试将元素向上移动两位

我尝试了很多不同的选择,但我无法得到正确的... 这是我最新的代码:

<div id="basket">
   <dl>
      <dt>Element 1</dt>
      <dd class="price">£32.00</dd>
      <dd class="qty"> 1x </dd>  //Need to move this element 2 levels up, right before dt

      <dt>Element 2</dt>
      <dd class="price">£6.00</dd>
      <dd class="qty"> 1x </dd>  //But this one as well
   </dl>            
</div>
$("#basket dd.qty").each(function() {
   var e = $(this);
   e.prevAll("dt").insertAfter(e);
});

基于上面的代码,我想在之前的 dt 之前显示 .qty,所以结果应该是:

<dd class="qty"> 1x </dd>
<dt>Element 2</dt>
<dd class="price">£6.00</dd>

最佳答案

你可以这样做:

$('#Basket .qty').each(function() {
  var sib = $(this).prev().prev()
  sib.before($(this))
});

$('#Basket .qty').each(function() {
  var sib = $(this).prev().prev()
  sib.before($(this))
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="Basket">
  <dl>
    <dt>Element 1</dt>
    <dd class="price">£32.00</dd>
    <dd class="qty"> 1x </dd>

    <dt>Element 2</dt>
    <dd class="price">£6.00</dd>
    <dd class="qty"> 1x </dd>
  </dl>
</div>

请注意,理想的用途是拥有 <dt>之前<dd>

关于javascript - 将元素向上移动 2 个位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55647804/

相关文章:

php - 如何在jquery中的单击按钮上获取带有标题值的表数据

javascript - 如何让浏览器记住通过ajax和jquery生成的多选项卡分页内容中显示的最后一页?

javascript - 悬停时在 td 中显示图像

javascript - 在刷新时更改渐变颜色但保持光标位置元素处于事件状态?

javascript - 转换 JSON 数据并在复选框、文本、下拉或单选输入类型中实现值的最佳方法?

javascript - HTML 如果我按 Tab 键,焦点接下来会去哪里?

javascript - 如何使用 javascript selenium 获取父级 div ID?

jQuery:使用视口(viewport)固定段落位置的每个标题

php - 表单中的提交按钮在 php print 中不起作用

javascript - 使用javascript获取div中第一个输入的id