一个function可以切换多个隐藏元素?
这只是一个片段,但我会在页面上有许多不同的链接。 每个链接都有一个与之关联的不同隐藏元素。 我试图避免为每个链接编写100个不同的slideToggle语句来显示它们各自的隐藏元素。 这是否接近那个?
.county{ font:"Trebuchet MS", Arial, Helvetica, sans-serif; } .countystats{ background-color:blue; display:none; } $('.county').click(function(){ $(this).find('.countystats').slideToggle('fast') }); one
two
你可以使用:
$('.county').click( function(){ var thisIs = $(this).index(); $('.countystats').eq(thisIs).slideToggle(300); });
JS小提琴演示 。
请注意,我从html中删除了br
以准确获取index()
。 如果您需要每行a
元素,请使用:
a { display: block; }
参考文献:
-
eq()
。
-
index()
。
-
slideToggle()
。
您可以使用下面给定的切换function,通过给出元素id数组作为输入来切换多个元素。
例如:
toggleElements(["elem1","elem2"],["elem3"]); OR toggleElements(arr1,arr2);
function showElements(showEls){ for(var i=0; i
理想情况下,您需要一种方法将链接链接到正确的div。 您可以使用这样的数据属性来完成此操作。
HTML:
one
two stats one
stats two
JS:
$('.county').click(function() { $('#' + $(this).data('divId')).slideToggle(); });
示例 – http://jsfiddle.net/infernalbadger/6wDf9/
如果您动态生成这些链接,这应该很容易做到。