Javascript 在单击的Div下方插入新Div

Javascript 在单击的Div下方插入新Div,javascript,Javascript,如何在单击的节点下插入新节点(使用javascript创建) 在它穿过原始div的那一刻,我不希望它穿过,它应该保持在它的原始状态 let parent=document.getElementById(“parent”); parent.addEventListener(“单击”),函数(事件){ var currentSelection、currentRange、currentNode、newDiv、newContent; currentSelection=window.getSelecti

如何在单击的节点下插入新节点(使用javascript创建)

在它穿过原始div的那一刻,我不希望它穿过,它应该保持在它的原始状态

let parent=document.getElementById(“parent”);
parent.addEventListener(“单击”),函数(事件){
var currentSelection、currentRange、currentNode、newDiv、newContent;
currentSelection=window.getSelection();
currentRange=currentSelection.getRangeAt(0);
currentNode=currentRange.startContainer;
console.log(currentNode.nodeValue);
newDiv=document.createElement(“div”);
newDiv.className='nuevo';
newContent=document.createTextNode(“holanda”);
newDiv.appendChild(newContent);
this.appendChild(newDiv)
});
.nuevo{
宽度:自动;
高度:自动;
背景:红色;
显示:内联块;
边缘顶部:1米;
z指数:3;
}
#父级>div{
浮动:左;
z指数:1;
}

你好
*** 
世界

利用
offsetLeft
属性查找新的附加元素:

let parent=document.getElementById(“parent”);
让rootElements=document.querySelectorAll(“div.root”);
for(设i=0;i
#父级{
位置:相对位置;
左:0px;
}
新加沃先生{
显示:块;
宽度:适合的内容;
高度:自动;
背景:红色;
位置:相对位置;
}
.根{
垂直对齐:顶部;
显示:内联块;
}

你好
***
世界

将事件侦听器附加到
父项中的每个div上,以便您可以使用它们附加元素,还可以将
nuevo
的显示属性更改为
block

let items=document.queryselectoral(#parent>div”);
对于(变量i=0;i
.nuevo{
宽度:自动;
高度:自动;
背景:红色;
显示:块;
明确:两者皆有;
位置:相对位置;
}
#父级>div{
浮动:左;
}
#母公司{
位置:相对位置;
左:0px;
}

你好
*** 
世界

不是您最新问题的答案,但如果您查看最后一个问题,我将其编辑以删除不再需要的
if
语句。如果您只希望将其呈现在单击的元素下方,我认为您根本不需要在
之前插入。只需使用
this.appendChild(newDiv)
并将其位置调整为与
event.target
相同,但页边距顶部为1em
@ScottMarcus我编辑了我的问题,但没有工作新div的宽度不能为100%@x-rw,所以只需单击一次即可?我需要新div显示在所选单词的正下方clicked@x-rw,我的意思是,如果你点击次数超过一次,新部门会互相挤压,如果这种情况需要考虑的话?@x-rw,我已经更新了答案,这是你想要的吗?你的答案不应该在点击***@x-rw时创建一个空格,我编辑了答案,将被剪切元素的
offsetLeft
用作插入元素的左边距