jQueryセレクタがついているようです。jQueryの1つのコントローラでさまざまな要素のさまざまなプロパティを変更する:正しい方法ですか?
私は、例えば、colorample要素のcss色値とvalue要素のhtmlを変更するコントローラを1つ持っていたいと思います。ページには、このように書きます:
<span class="controller blue">██</span>
<span class="controller red">██</span>
<span class="colorsample red">██</span>
<span class="colorsample blue">██</span>
<span class="hexcolor red">#FF0000</span>
<span class="hexcolor blue">#0000FF</span>
jQueryのコードは...まあ、私は私がこだわっているので、この例の1の作業はありません。このページの前のバージョンはテンプレートエンジンで生成されていたので、各要素に固有の名前が付いていました。コントローラーごとに独自のJavaScriptがありましたが、うまく機能しましたが、愚かで、私に良い考えが、今私はそれらを選択するのまわりで私の頭をラップすることはできません、私のような何かをしようとしている:だから私はとの良好なアプローチ何、私はここに非常に間違って何かをやっていると思います
$("span.control").click(function(){
get an element which has the same class as this one, but not entirely, goddamit!
});
をそんなページを作るの?私は詳細なコードは必要ありません、ちょうど一般的な方向は素晴らしいでしょう。
編集:私はこれらの醜い記号を残しておきたいと思います。なぜなら、そのページは仮説的なインターフェースに関するものですから。
'this.className'(これはjQueryではなくDOM要素として)を使用して現在の要素のクラス名を取得します。連続した空白( '\ s +')で文字列を分割し、 '、.'を使って結合します。そうする前に、例えば、無関係な既知のクラス名( '' controller ') 'を取り除くことができます。次に、 '$(string_so_far)'を使って目的の要素を選択します。 –