我想完全交换两个 html div 标签,标签和所有标签。我尝试了下面的代码,但它不起作用。
jQuery('#AllBlock-'+Id).insertAfter('#AllBlock-'+Id.next().next());
如何完全交换两个 div 标签。
最佳答案
您的代码中有一些括号不匹配,看起来您可能正在尝试这样做:
jQuery('#AllBlock-'+Id).insertAfter($('#AllBlock-'+Id').next().next());
这需要像这样:
<div id="AllBlock-5"></div>
<div id="AllBlock-6"></div>
<div id="AllBlock-7"></div>
而且,如果用 Id 5 调用,将其变成这样:
<div id="AllBlock-6"></div>
<div id="AllBlock-7"></div>
<div id="AllBlock-5"></div>
这是因为您正在使用 block 5,并将其移动(使用 insertAfter
)到 next().next()
block 之后的位置(或next-but-one) 来自自身,这将是 block 7。
如果你想始终将 #AllBlock-Id
与 #AllBlock-[Id+2]
交换,那么它们交换位置并最终如下所示:
<div id="AllBlock-7"></div>
<div id="AllBlock-6"></div>
<div id="AllBlock-5"></div>
你可能想试试:
var $block = jQuery('#AllBlock-'+Id);
var $pivot = $block.next();
var $blockToSwap = $pivot.next();
$blockToSwap.insertBefore($pivot);
$block.insertAfter($pivot);
关于javascript - 如何交换两个div标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5880036/