Javascript 如何强制使一个元素成为另一个div的父元素

Javascript 如何强制使一个元素成为另一个div的父元素,javascript,html,css,Javascript,Html,Css,我来是为了三个问题。我知道,javascript可以修复它。但是,我不太懂javascript。所以,我需要你的帮助 (1) 我必须强制使元素“class dropdown”成为“div C”的父div。 例如,这是结构: <div class="A"> <ul> <li class="dropdown"><a href="#">About</li> <li><a href="#">Abo

我来是为了三个问题。我知道,javascript可以修复它。但是,我不太懂javascript。所以,我需要你的帮助

(1) 我必须强制使元素“class dropdown”成为“div C”的父div。 例如,这是结构:

<div class="A">
  <ul>
     <li class="dropdown"><a href="#">About</li>
     <li><a href="#">About</li>
     <li><a href="#">About</li>
  </ul>
</div>
<div class="B"></div>
<div class="C"></div>
<a href="#" class="collapse"></a>
<div class="main-nav"></div>
我认为下面这一行就是问题所在。请帮我修一下

if(mainNav.style.display = 'none')
                mainNav.style.display = 'block';
            else
                mainNav.style.display = 'none';
(3) 如何通过javascript更改背景。与div一样,div的定义如下:

.main-nav li.dropdown a {
    background: url(../images/nav-arrow.png) 70% center no-repeat;  
}
我想改变背景图像时,人们碰击。我已经试过了。但是,这是行不通的:(


这些问题完全不相关,我相信你应该将它们作为单独的问题发布。无论如何,以下是我的答案:

(1) -假设每个类只有一个元素

document.querySelector('.C').appendChild(document.querySelector('.dropdown'));
(二)

(三)


“使一个元素成为另一个元素的父元素”是什么意思?在JavaScript中,父子关系意味着一个元素(“子元素”)包含在另一个元素(“父元素”)中。是否要重新排列DOM(将一个元素移动到另一个元素中)或者点击一个元素会影响另一个元素?你想把C类的所有div放在li标记中吗?是的,我想把C类的所有div放在li标记中。基本上,C类不是子菜单。但是,在一种情况下,我必须在类下拉列表中显示C类重新排列DOM(将一个元素移动到另一个元素中)@DavidThomasThanks.(2)正在工作。在(1)中,每个类都没有单个元素。这就是为什么它没有正常工作。(3)也不工作。(1)中的键是
parent.appendChild(parent)
。如果有多个元素,则需要选择、循环,然后应用这些元素。对于(3)考虑URL是相对于页面,而不是你的JS或CSS。尝试一个绝对URL。
for(var a=0; a<document.getElementsByClassName('dropdown').length; a++){
    document.getElementsByClassName('dropdown')[a].onclick = function(){
        var innerSubmenu = this.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.getElementsByClassName('inner-submenu')[0]
        dropdown.backgroundImage = 'url(../images/nav-arrow-hover.png)';
        if(innerSubmenu.style.display = 'none')
            innerSubmenu.style.display = 'block';
        else
            innerSubmenu.style.display = 'none';
    }
}
dropdown.backgroundImage = 'url(../images/nav-arrow-hover.png)';
document.querySelector('.C').appendChild(document.querySelector('.dropdown'));
if(mainNav.style.display != 'block')
        mainNav.style.display = 'block';
    else
        mainNav.style.display = 'none';
dropdown.style.backgroundImage = 'url(../images/nav-arrow-hover.png)';