2017-02-23 6 views
-5

複数のdivのdiv背景の色を変更するにはどうすればよいですか。だからdiv 1をクリックすると青色に変わり、div 2をクリックするとdiv1の色がデフォルトに戻ってdiv2が青色に変わりますか? Facebookのチャットタブがトップヘッダーでどのように動作するかの種類Javascriptを変更するとdivの色がそれぞれ1回ずつ表示されます

+1

を変更するようにコードを書くことができますあなたは1を「選択」することができるようにしたいわけ? '.selected'のためのCSSクラスを用意して、それを好みのスタイルにしてください。 divの 'onclick'は、* all * divsからクラスを削除し、クリックされたdivに' selected'を追加します。スタックしてしまった場合は、コードを使って戻ってください。 – musefan

+1

Stack Overflowへようこそ! [ツアー](http://stackoverflow.com/tour)を見て回り、[ヘルプセンター](http://stackoverflow.com/help)、特に[どうすればよいですか?良い質問をする?](http://stackoverflow.com/help/how-to-ask)_。おそらくあなたはここに無料でコードを書くサービスを期待していたでしょうか? – Cagy79

+0

私はそれがjavascript関数である必要があるので、データベースに "見た"ものを提出させることができます –

答えて

-1

あなたはそうすることができます。ただ、クリックされた要素に「アクティブ」のようなクラスを追加し、他の人

var menu = document.querySelector("#menu"); 

for(var i = 0; i < menu.children.length; i++){ 
    menu.children[i].onclick = function (event){ 
    document.querySelector(".active").className = ""; 
    event.target.className = "active"; 
    } 
} 

https://jsfiddle.net/jc61tgns/

+0

ありがとう!なぜなら、誰かがあなたの答えを完璧なものとして投票した理由を知らないからです。多くのありがとう –

+0

とにかくこれは動作するが、すべてのアイテム/ divにプリセットされたアクティブなクラスがないときは? –

+0

** document.querySelector( "。active")。 による ** var active = document.querySelector( "。active");行を変更することができます。 if(active)active.className = ""; ** いつでも動作します:) – Vashnak

-1

私は何をすることができadivceなり、以下れるから、それを削除します。

  • 作成.active { background-color: blue; }

  • などのCSSクラスを使用してdivsから.activeを追加/削除するJavaScriptを使用してください。例えば

、純粋なJavaScriptで:

const divs = document.querySelector('#root > div'); 

divs.on('click', function(e) { 
    // Toggle off all divs. 
    divs.forEach(d => d.classList.remove('active')); 

    // Toggle on clicked div. 
    e.target.classList.add('active'); 
}); 

ドク:classtList

乾杯、 ギヨーム。

-2

あなたdivタグにidを与え、changebg内部<div id="div1" onclick="changebg()"> ようonclickイベントを作成することができます()あなたは、背景色

関連する問題