这是因为
所以我有了基于网格的布局:
<div id="gridrow" class="clear">
<div id="gridsection" class="float-left">
<div id="gridwrap">
<div id="gridimage" class="clear"></div>
<div id="gridtitle" class="clear">Title</div>
<div id="gridinfo" class="clear">Info</div>
</div>
</div>
<div id="gridsection" class="float-right">
<div id="gridwrap">
<div id="gridimage" class="clear"></div>
<div id="gridtitle" class="clear">Title</div>
<div id="gridinfo" class="clear">Info</div>
</div>
</div>
<div id="gridsection" class="gridmiddle">
<div id="gridwrap">
<div id="gridimage" class="clear"></div>
<div id="gridtitle" class="clear">Title</div>
<div id="gridinfo" class="clear">Info</div>
</div>
</div>
然后我有了这个jQuery脚本:
$("#gridtitle").each(function(index){
$("#gridtitle:eq("+index+")").click(function (){
$("#gridimage:eq("+index+"), #gridinfo:eq("+index+")").slideToggle();
});
});
我认为这会起作用(合乎逻辑),然而,只有第一个网格元素会起作用,有什么提示吗?
有关更多信息,请随时询问,
谢谢。
不同的元素必须具有不同的ID。
若两个或多个元素具有相同的ID,则只使用第一个。
ID是唯一的,每个对象只能使用一个。您可以使用classed,并更改选择器:
$(".gridtitle").each(function(index){
$(".gridtitle:eq("+index+")").click(function (){
$(".gridimage:eq("+index+"),.gridinfo:eq("+index+")").slideToggle();
});
});
gridtitle
是id
。您应该将其更改为class
,并选择如下:
$(".gridtitle").each(function() { ... });