【发布时间】:2025-12-07 16:05:02
【问题描述】:
我有标题,他们有兄弟姐妹,其中一个是 div clearfix,在这个 div 中有一个 ul 的 box-content 并且有些项目是隐藏的,有些是隐藏的显示有一个应该点击的ol 列表,如果此示例中的项目列表中没有项目电池它不应该显示标题标题(div 类名称为reltitles)请记住我们有许多标题标题和框内容和 div,所以它通常应该工作而不是一个特定的
<div class="reltitles" id="Batteries" style="display:block;">
<font class="resultHeader">(2) Batteries </font>
</div>
<div class="clearfix" value="Batteries" name="Batteries" id="Batteries">
<ul class="box-content" id="Batteries">
<li id="50-80" class="item first" style="display: none;"></li>
<li id="50-80" class="item first" style="display: none;"></li>
<li id="20-50" class="item">
something here
</li>
</ul>
</div>
要点击的列表:
<ol id="myAnchor">
<li><a id="0-20" href="#">0.00 - 20.00</a></li>
<li><a id="20-50" href="#">20.00 - 50.00</a></li>
<li><a id="50-80" href="#">50.00 - 80.00</a></li>
<li><a id="80-100" href="#">80.00 - 100.00</a></li>
<li><a id="All" href="#">All</a></li>
</ol>
这是我用 chrome 工具调试的 java 脚本代码,但我仍然无法弄清楚:
j$("#myAnchor li a").click(function(){
var prices = j$(".box-content li");
prices.show();
if (this.id != "All")
{ prices.not(j$(".box-content li[id='"+this.id+"']")).hide();
}
var tt=document.getElementsByClassName("reltitles");
for(k=0;k<tt.length;k++)
{
var clear=tt[k].nextElementSibling;
var list=clear.childNodes[1].children;
j=0;
for(i=0;i<list.length;i++)
{
if(list[i].style.display=="none")
{
j++;
}
if(j==list.length)
{
tt[k].style.display="none";
}
else{ tt[k].style.display="block";}
}
}
});
更新:id 是唯一的,它们将由 php 代码生成,我只是想更简单地展示一下
【问题讨论】:
-
ID's必须是唯一的。你有重复的id="Batteries" -
不,我没有它们是在 php 代码中生成的
标签: javascript jquery html css