Javascript 向上移动元素2的位置
我想把一个元素向上移动两个位置 我尝试了很多不同的选择,但我做不好。。。 这是我的最新代码:Javascript 向上移动元素2的位置,javascript,jquery,html,next,Javascript,Jquery,Html,Next,我想把一个元素向上移动两个位置 我尝试了很多不同的选择,但我做不好。。。 这是我的最新代码: <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 level
<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>
根据上面的代码,我想显示前一个dt之前的.qty,因此结果应该是:
<dd class="qty"> 1x </dd>
<dt>Element 2</dt>
<dd class="price">£6.00</dd>
1x
要素2
£6.00
您可以这样做:
$('#Basket .qty').each(function() {
var sib = $(this).prev().prev()
sib.before($(this))
});
$('#Basket.qty')。每个(函数(){
var sib=$(this.prev().prev())
同级前($(本))
});代码>
要素1
£32.00
1x
要素2
£6.00
1x
您可以这样做:
$('#Basket .qty').each(function() {
var sib = $(this).prev().prev()
sib.before($(this))
});
$('#Basket.qty')。每个(函数(){
var sib=$(this.prev().prev())
同级前($(本))
});代码>
要素1
£32.00
1x
要素2
£6.00
1x
这将导致无效的标记,不是吗?理想情况下,
前面应该有一个
(或
),这会导致无效的标记,不是吗?理想情况下,
前面应该有一个
(或
)。虽然这是OP想要的,但它使第一个qty元素成为孤立元素,第二个qty元素成为错误dt的子元素。@SalmanA非常正确,老实说,我没有读到那部分。我将在答案中添加一条注释。虽然这符合OP的要求,但它使第一个qty元素成为孤儿,第二个qty元素成为错误dt的孩子。@SalmanA非常正确,老实说,我没有读到这一部分。关于这件事,我要在答案上加一条注释。