javascript - 如何交换两个div标签?

标签 javascript jquery jquery-ui

我想完全交换两个 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/

相关文章:

javascript - 单击时更改多个按钮颜色

javascript - 需要帮助使我的 HTML 和 CSS 代码更有效地实现导航效果

jquery - div jquery mobile中的下一个上一个按钮

Jquery 对话框 - 关闭前不会淡出

javascript - JavaScript npm 包应该被缩小吗?

javascript - Node JS,传统数据结构? (例如 Set 等),诸如 Java.util 之类的 Node ?

javascript - 将多行从 HTML 发送到 PHP 并存储在 JSON 中

javascript - Wicket 和 Leaflet 多面体

javascript - jquery 仅在我刷新页面以切换 Rails 应用程序时才起作用

javascript - jQueryUI 模态对话框中的脚本只能运行一次