これは、コンマ演算子を使用して行うことができます。
this.className === "unclickedButton" ?
(this.className = ($("#alert").style.display="block", "clickedButton")) :
(this.className = ($("#alert").style.display="none", "unclickedButton"));
...しかし、それが読みやすいコードになるとは言えません。通常を使用しますif
。
これは、 jQuery(ソース)を使用した実際の例です。(私は使用しました、、以下を参照してください)。しかし、真剣に、保守性/読みやすさについては、次のように比較してください。show
hide
if (this.className === "unclickedButton") {
this.className = "clickedButton";
$("#alert").style.display = "block";
}
else {
this.className = "unclickedButton";
$("#alert").style.display = "none";
}
どちらをメンテナンスしたいのかわかります。または、ワンライナーが必要な場合は、CSSを少し変更して、button
クラスとそれに追加clicked
するクラスを作成し、これを実行します(ここではjQueryを想定しています)。
$("#alert").toggle($(this).toggleClass('clicked').hasClass('clicked'));
実例| ソース
補足:使用しているセレクターはjQueryで使用するものと同じように見えますが、jQueryインスタンスにはstyle
プロパティがありません。PrototypeまたはMooToolsを使用している場合は#
、の前のを削除することをお勧めしますalert
。jQueryを使用している場合は、そのメソッドshow
とhide
メソッド(およびおそらくaddClass
/ removeClass
)を使用します。