2

私はcssとjqueryに本当に慣れていないので、プロジェクトのサポートが必要です。

私には3つのボタンがあります:不利-平均-利点そしてこのボタンをラジオボタンのように機能させる必要があるので、不利をクリックするとこのボタンは背景色を変更し、他のボタンをクリックすると色が失われます。不利なボタンは背景色が赤になります。

  • 平均的なボタンをクリックすると、前にクリックした場合、このボタンは黄色になり、他のボタンは色を失う必要があります

-平均ボタンをクリックすると、このボタンは緑色の背景色になり、他のボタンは色を失う必要があります。ラジオボタンのように

しかし、私は#IDに基づいてそれをやろうとしています

$('#price_quality_adv').css('background-color','#C90');
            $('#reliability_adv').css('background-color','#C90');

http://jsfiddle.net/EC44Z/5/

助けてください。私の英語ありがとうございます!

4

1 に答える 1

0

ある種のスコープの問題のようですが、jsFiddle環境専用かどうかはわかりません。この変更を行うと、修正されます(少なくともアドバンテージボタンの場合)

setQuality = function(qulaity, type_rating, name)

フィドル: http: //jsfiddle.net/EC44Z/8/

他にもいくつか問題がありますが、コードは少し複雑です。次のようなことをする方が良いです...

HTML

<a href="#" id="button_advantage" class="button">advantage</a>

CSS

.button{ /* styles for all buttons */ }
.selected{ /* styles for selected button */ }

JS(jQuery)

$("#button_advantage").on('click',function(){
    $(this).addClass('selected')
    $(this).siblings().removeClass('selected')
})

概要

コードを分離する必要があります。これにより、保守が容易になり、さまざまな環境で適切に機能し、検索ランキングなどが向上します。

HTMLはコンテンツ用であり、類似したアイテムをグループ化するための適切なクラスと、関連する要素の一意のIDを使用して、そのようにマークアップする必要があります。

CSSはスタイル用であり、可能な場合はすべてのスタイルを一緒に保持する必要があります。

JSは動的機能用であるため、この場合はクラスを追加して、スタイルを変更します。

于 2013-03-13T21:44:22.520 に答える