我正在使用不允许更改 html 的 cms。
它在侧边栏上创建即将发生的事件,并在每种类型的事件之前添加一个彩色 div 来对它们进行分类。我想使用 JQuery 仅在某些页面上显示其中一个类别。
这是他们生成的代码:
<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>
我只想显示此代码中的“第三个”和“第四个”事件,但我没有提供类或 ID。我的想法是通过这些 li 中子 div 的背景颜色来识别该类别。在页面加载时隐藏所有 li。然后告诉 jquery 只显示所需的 li。
我希望生成的代码如下所示:
<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>