私はjQueryにはかなり新しく、フィルタリングクラスに関する助けが必要です。ユーザーは9つのボタンから選択して、どのイベントタイプを表示/非表示にするかを選択できます。色をクリックして、その色のショーのイベントのみを表示し、残りは非表示にします。 「すべて」をクリックすると、すべてのイベントが非表示になります。すべてのイベントは、display:block
で始まります。jquery:クラス名の変数に基づいた非表示/表示
例のコントロールボタンは:
<li class="all" id="all-events"><a href="#" onclick="showEvents('event-all')">
<img src="swatch-all.png" alt="" /></a></li>
<li class="red" id="red-events"><a href="#" onclick="showEvents('event-red')">
<img src="swatch-red.png" alt="" /></a></li>
<li class="blue" id="blue-events"><a href="#" onclick="showEvents('event-blue')">
<img src="swatch-blue.png" alt="" /></a></li>
イベントは、PHPでデータベースから引き出され、この例のように見えるされています
<div id="bigCal">
<p class="all"><a href="http://foo.com" title="All event">All events</a></p>
<p class="blue"><a href="http://bar.com" title="Blue event">Blue event</a></p>
<p class="red"><a href="http://foobar.com" title="Red event">Red event</a></p>
</div>
は、私は2日間のjQueryに取り組んできました! .filter
または.hasClass
または.is
のどちらを使用するかわかりません。それは動作しません。私が試した最も単純でした:
function showEvents(color) {
($('p').hasClass(color)) ? this.style.display="block" : this.style.display="none";
}
何もしなかった別の試み任意の助けが理解されるであろう
function showEvents(color){
$("p[className*='event-']").css('display', 'none');
$("p[className=color]").css('display', 'block');
if ($("p[className='event-all']"))
$("p[className*='event-']").css('display', 'block');
}
でした!
優秀!すべての色(class = "all red")に "all"クラスを追加すると、すべてを簡単に表示できます。それで私は完全に困惑していました - 他のクラスをすべて簡単に手に入れる方法。ありがとう! jsfiddle.netについてのプラスの学習。どのくらいクールです! – dac
jQueryを使ってonclickを取得するためのコードも本当に便利でした。私にそれをテストしていただきありがとうございます。すべての違いを作り、私のサイトでそれを実装するのはとても簡単でした。 – dac