我是来解决3个问题的。我知道,javascript可以修复它。但是,我不太了解javascript。所以,我需要你的帮助。
(1)我必须强制使“div C”的元素“class dropdown”父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>
我知道,一两行javascript代码就可以了。但是,我不知道代码。那么,将 li.dropdown 设置为“div C”的父级的 javascript 代码是什么?
(2) 如何通过onclick 选项关闭一个div?比如结构:
<a href="#" class="collapse"></a>
<div class="main-nav"></div>
默认情况下,main-nav 是display: none
当任何人点击折叠链接时,main-nav div 将被打开。当人们再次点击折叠链接时,主导航将再次关闭。我可以通过 javascript 打开主导航。但是,我无法关闭它。我试过这样:
for(var a=0; a<document.getElementsByClassName('collapse').length; a++){
document.getElementsByClassName('collapse')[a].onclick = function(){
var mainNav = this.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.getElementsByClassName('main-nav')[0]
if(mainNav.style.display = 'none')
mainNav.style.display = 'block';
else
mainNav.style.display = 'none';
}
}
我认为在下面的行中存在问题。请帮我修复它。
if(mainNav.style.display = 'none')
mainNav.style.display = 'block';
else
mainNav.style.display = 'none';
(3) 如何通过javascript更改背景。就像一个 div 是这样定义的:
.main-nav li.dropdown a {
background: url(../images/nav-arrow.png) 70% center no-repeat;
}
当人们点击它时,我想更改背景图像。我已经尝试过以下方式。但是,它不会工作:(
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)';