Javascript 如何将元素放在两个元素之间

Javascript 如何将元素放在两个元素之间,javascript,html,Javascript,Html,document.getElementById(“div”).onclick=function(ev){ var btn=document.getElementById(“btn4”); btn.parentNode.removeChild(btn); ev.target.appendChild(btn); } 按钮{ 右边距:10px; } 1. 2. 3. 4. 这就是你要找的吗 document.getElementById(“div”).onclick=function(ev){ 如

document.getElementById(“div”).onclick=function(ev){
var btn=document.getElementById(“btn4”);
btn.parentNode.removeChild(btn);
ev.target.appendChild(btn);
}
按钮{
右边距:10px;
}

1.
2.
3.
4.

这就是你要找的吗

document.getElementById(“div”).onclick=function(ev){
如果(ev.target.id==“btn4”)返回;
var btn=document.getElementById(“btn4”);
btn.parentNode.removeChild(btn);
ev.target.InsertAdjaceEntelement(“后置”,btn);
}
按钮{
右边距:10px;
}

1.
2.
3.
4.

请尝试以下代码:

document.getElementById(“div”).onclick=function(ev){
var divElement=document.getElementById(“div”);
var btn=document.getElementById(“btn4”);
var oTargetInsertionElement=null;
对于(var i=divElement.children.length-1;i>=0;i--){
var-oRect=divElement.children[i].getBoundingClientRect();
if(divElement.children[0].getBoundingClientRect().x>ev.clientX){
oTargetInsertionElement=divElement.children[0];
//警报(第一个元素之前的divElement.children[0].id+'-Before-First-Element');
打破
}else if(divElement.children[divElement.children.length-1].getBoundingClientRect().x
按钮{
右边距:10px;
}

1.
2.
3.
4.

这仅在单击按钮时有效。他要求能够在按钮之间单击。在按钮1之前单击不会使按钮4处于初始位置first@JoeDoe你可以把它作为一个特例来处理loop@JoeDoe-处理了你的案子。。逻辑很简单,鼠标事件ev.clientX在button@user2932057在4 1 2 3中,如果我在1 2之间单击,我得到1 2 4 3,而不是1 4 2 3;在2 3之间单击,我得到1 2 3 4,而不是1 2 43@JoeDoe按钮4在鼠标光标单击位置按钮旁边移动位置。。还有,你提到的这个案子。。。请单独修理那个箱子。。