2010-12-21 2 views
1

質問は簡単ですが、私の実装では何かが間違っています。ある要素を他の要素のクリックに反応させるにはどうすればよいですか? - CSS/jQuery

私の実装hereを見ることができます。

私がしたいのは、ボックス#1の名前の1つをクリックすると点線と点線の#1が黒と黒の両方に変わります。点線は境界線ではありません。対応する他のボックスの他のデータをクリックすると同じことが起こります。

私が直面している主な問題は、jQueryの.css関数を使用して手動で色と境界を変更するとうまく動作することです。しかし、私はtoggleクラスを使ってそれを修正したいと思っています(なぜなら、私はcss関数を使うためにトグル()を得ることができないからです) - それを一度クリックすると、クリックされた要素が強調表示されます(1pxのボーダー - この機能はすでに存在しています)、ボックス(および点線)の対応する番号は黒く塗りつぶされています。

ありがとうございました。

答えて

1

JavaScriptが正常だったようです。

$('#bc1 dashed-circle').toggleClass('bc-dashed-to-solid-circle'); 

あなたはにそのセレクターを変更したいと思う:私は物事をめちゃくちゃに見ることができる唯一のことは、この行でした。

ダッシュと数字が色を変えない理由は、特殊性のためです。 idと要素であるセレクタ#blank-dashboard-breadcrumb spanで通常の色(#bdbebf)を宣言します。単純なクラスである.bc-dotted-to-solidまたは.bc-dashed-to-solid-circleで「選択された」色(黒)を宣言します。ダッシュと1に適切なクラスがある場合でも、それらは依然として灰色のままであることを示すより具体的なセレクタを持っています。

+0

私は自分の問題がこのようなものであることを知っていました。問題はどうしたらいいですか?私はあなたのソリューションを含め、それは私がそれを必要とするものではありません。私が実際に望む機能を実際にどのように得ることができるかについてのさらなる提案はありますか?私はあなたが正しい道にいると思う。 – marcamillion

+0

もう1つのことは、クリックリスナーをすべての異なるtrに適用していることですが、すべてが最初の番号のみでクラスを変更するということです。それはあなたが言及している問題ですか?解決策があなたが必要とすることをしないと言ったら、どういう意味ですか? – sdleihssirhc

+0

私が意味するのは、私が探している機能は:名前の1つをクリックすると、点線と対応する番号がCSSを変更します。たとえば、「John Brown」をクリックすると、最初の点線が黒くなり実線に変わります。また、「#1」を黒に変更し、境界線をソリッドに変えたいとします。現時点では、それはやっていないことです。あなたが指摘した特異性とは関係があると思います。しかし、私はそれを修正する方法について混乱しています。 – marcamillion

関連する問題