HTMLへの変更を許可しないcmsを使用しています。
サイドバーに今後のイベントを作成し、各タイプのイベントの前に色付きのdivを追加してそれらを分類します。JQueryを使用して、特定のページのカテゴリの1つだけを表示したいと思います。
それらが生成するコードは次のとおりです。
<ul class="upcomingEvents">
<li>
<a href="#">
<div style="display:inline;width:3px;height:1em;background-color:#f8546f;"> </div> First</a>
<br>
<i> Sunday</i>
</li>
<li>
<a href="#"><div style="display:inline;width:3px;height:1em;background-color: #000;"> </div> Second</a>
<br>
<i> Friday</i>
</li>
<li>
<a href="#"><div style="display:inline;width:3px;height:1em;background-color: #F16FCC;"> </div> Third</a>
<br>
<i> Wednesday</i>
</li>
<li>
<a href="#"><div style="display:inline;width:3px;height:1em;background-color: #F16FCC;"> </div> Fourth</a>
<br>
<i> Monday</i>
</li>
</ul>
このコードの「3番目」と「4番目」のイベントのみを表示したいのですが、クラスまたはIDが提供されていません。私の考えは、それらのliの子divの背景色によってそのカテゴリを識別することでした。ページの読み込み時にすべてのliを非表示にします。次に、目的のliのみを表示するようにjqueryに指示します。
結果のコードは次のようになります。
<ul class="upcomingEvents">
<li style="display: none; ">
<a href="#"><div style="display:inline;width:3px;height:1em;background-color:#f8546f;"> </div> First</a>
<br>
<i> Sunday</i>
</li>
<li style="display: none; ">
<a href="#"><div style="display:inline;width:3px;height:1em;background-color: #000;"> </div> Second</a>
<br>
<i> Friday</i>
</li>
<li>
<a href="#"><div style="display:inline;width:3px;height:1em;background-color: #F16FCC;"> </div> Third</a>
<br>
<i> Wednesday</i>
</li>
<li>
<a href="#"><div style="display:inline;width:3px;height:1em;background-color: #F16FCC;"> </div> Fourth</a>
<br>
<i> Monday</i>
</li>
</ul>
このコードを使用してみましたが、成功しませんでした。
$(document).ready(function() {
$(".upcomingEvents li").hide();
if ($(".upcomingEvents div").css("backgroundColor") == "rgb(241, 111, 204)") $(this).show();
});
私は何が間違っているのですか?
</ p>