-3

そのため、ユーザーがタブをクリックしたときに CSS ID を別の 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 に答える