使用Javascript在DOM中向上移动类div?
我正试图将一个类div(即“topbar”)移出其容器,并移到id为的div(即“body”)之上。使用JavaScript可以做到这一点吗 没有运气就尝试过这样的事情:使用Javascript在DOM中向上移动类div?,javascript,dom,Javascript,Dom,我正试图将一个类div(即“topbar”)移出其容器,并移到id为的div(即“body”)之上。使用JavaScript可以做到这一点吗 没有运气就尝试过这样的事情: document.getElementsByClassName('topbar').appendChild(document.getElementsById('body')); 更新问题以便更好地理解。我想将顶杆移到躯干div上方 html: <div id="body"> <div class="r
document.getElementsByClassName('topbar').appendChild(document.getElementsById('body'));
更新问题以便更好地理解。我想将顶杆移到躯干div上方
html:
<div id="body">
<div class="random"> </div>
<div class="random"> </div>
<div class="topbar"> </div>
</div>
看起来您正试图将
顶栏
元素移动到类主体
的前面和元素。这可以使用insertBefore()
方法实现:
注意:由于此代码访问并操作DOM,因此需要将整个块包装在
window.onload=function(){……脚本在这里……}代码>,以确保在脚本运行之前加载DOM。
类似的内容
var container=document.getElementById('container');
var content1=document.getElementById('content1');
var subcainer=document.getElementById('subcainer');
var body=document.body;
var content2=document.getElementById('content2');
container.insertBefore(content1,subContainer);
body.insertBefore(content2,容器)代码>
#容器{
填充:10px;
背景颜色:浅灰色;
}
#分包商{
边框:1px纯黑;
背景颜色:灰色;
}
这里的内容1胡说八道
这里的内容2胡说八道
内容3在这里胡说八道
您正在尝试附加文档正文。你能发布你的完整代码并解释你想做的事情吗?你想在“body”div上面插入“topbar”div吗?是的,这是正确的。更新了问题。他没有提到他想把顶栏放在哪里……作为“身体”的第一个孩子还是在“身体”上面?回答这样一个不清楚的问题会鼓励填鸭式喂食…接近!这将div放置在目标id下方。我希望它放置在目标id上方@那没用。id为“body”的div是dom中的第一个div,在此之前它只是一个body标记。它是否需要父元素才能工作?谢谢你的帮助!它应该可以工作,因为它将
视为父元素。下面是一个演示工作代码的函数。我还将上面的内容简化为一个单一的答案,而不是一系列的编辑。只使用Id是我设法做到的。但是我想把一个类div移到它的容器(div id)外面和上面。@InfotheekSE,检查我编辑的帖子,这就是你要找的吗?
window.onload = function () {
//find the element to insert before and then get its parent element
var beforeElement = document.getElementById('body');
var parentElement = beforeElement.parentNode;
//find the element we want to move
//you need the array syntax because 'getElementsByClassName' returns an array of matching elements (even if there is only one match)
var moveElement = document.getElementsByClassName('topbar')[0];
//insert the moveElement into the parentElement before the theFirstChild
parentElement.insertBefore(moveElement, beforeElement);
};