2

I open this thread to ask your help with JavaScript.

My website is divided vertically into four main div.

<div id="homepage"> Content </ div>
<div id="page1"> Content </ div>
<div id="page2"> Content </ div>
<div id="page3"> Content </ div>
<div id="page4"> Content </ div>

On the right of page there is navigation menu, div position: fixed.

<div id="nav">
<ul>
<li> <a href="#homepage"> Homepage </ a> </ li>
<li> <a href="#page1"> Page1 </ a> </ li>
<li> <a href="#page2"> Page2 </ a> </ li>
<li> <a href="#page3"> Page3 </ a> </ li>
<li> <a href="#page4"> page4 </ a> </ li>
</ ul>
</ div>

I wish that when you are in a div container (page1 or page2 etc) is added to a class corresponding menu item.

And 'possible to do this with javascript? Thanks in advance

4

2 回答 2

6

您将使用节点树来设置属性。我的意思是说

var node = document.getElementById("dividname").getElementsByTagName("li")[i];
node.setAttribute("class", "classname");

用于删除仅在上面使用的类,没有任何价值

node.setAttribute("class", "");
于 2012-04-22T21:10:07.333 回答
3

我想到的 jquery 中最简单的解决方案是:

$('.menu-link').click(function(){
 var divId = $(this).attr("href");
 $('.page-div').removeClass("special-class");
 $(divId).addClass("special-class");
});

请注意,这.menu-link是您<a>内部的课程,<li>并且.page-div是带有 ids 等的 div 的page1课程page2

于 2012-04-22T21:12:16.753 回答