-3

因此,当用户单击选项卡时,我想将 CSS id 设置为不同的。

我将所有部门作为网站的布局):

<a href="page.html"><div id="something"></div></a> <!-- this is one of my navigation tabs that I'll click on -->

我想修改这个导航选项卡:

<a href="page2.html"><div id="something2"></div></a>

我想将部门 id 更改为“something3”(并且“something3”已在我的 CSS 中定义)

另外,我想将链接更改为“page3.html”(已经存在于我的文件夹中)。

所以我的问题是,我如何使用 javascript 更改这两个东西?

我已经有了:

function changeTab () {
    if (document.getElementById('something').clicked)
    {
        // change the css and link
    }
}

如果有人能提供帮助,我将不胜感激。

4

3 回答 3

2

你可以这样做:

var el = document.getElementById('something')
el.id = 'something3';
el.href = 'newpage.html';

但是更改id元素通常是糟糕设计的原因,最好使用类。

于 2013-03-28T16:23:16.757 回答
1

我建议为您的元素添加一个 id 并使用类来实现 div 的样式。然后您可以执行以下操作:

   //html
<a href="page.html" id="link"><div id="something">something</div></a> <!-- this is one 

    window.onload = (function(){
        var link = document.getElementById('link');
        link.onclick = (function(e){
          if(!link.href.indexOf('page2.html')){
         //continue as normal? 
}else{
           e.preventDefault();
           var childDiv = this.children[0];
           childDiv.id = 'something2';
          link.href= '/page3.html';
            //window.location = '/page3.html'; //uncomment this line to navigate to new page or use window.open to open a new page
}
        });
   });

(虽然我不是在这里更改课程,而是根据您的要求更改 ID)

小提琴http://jsfiddle.net/nQr4p/

于 2013-03-28T16:37:56.367 回答
0
 var targetLink = document.getElementById('yourLinkObjId') // both elements should be givn ids 
  var targetDiv = document.getElementById('yourDivObjId')
  targetLink.href ='page2.html
  targetDiv.id = 'something2'

这些都应该放在您的更改功能中

于 2013-03-28T16:27:45.157 回答