我有以下jQuery代码,工作正常:
$(document).ready(function () {
$('#link1').click(function () {
$('.data1').slideToggle('slow');
});
$('#link2').click(function () {
$('.data2').slideToggle('slow');
});
/* so on a so forth */
});
link1是我对超链接周围的div标签的ID。如果用户单击超链接,Data1是我想要显示的内容的另一个div标签的ID。我的问题是,如果我有50个甚至100个超链接和内容与每个超链接,那么将这些代码列出50或100次并且每个ID单独列出将会很麻烦。
如何以编程方式执行此操作?我尝试设置for循环,但我可能搞砸了语法。我也尝试过使用“each()”函数。
非常感谢任何帮助。
答案 0 :(得分:0)
最简单的方法是为这些定义一个类,也是一个更好的ID。我会说这样的话:
<a href="#" id="link_1" class="toggle_link">Link 1 Text</a>
<div class="data_1">Fos</div>
<a href="#" id="link_2" class="toggle_link">Link 2 Text</a>
<div class="data_2">Fos Fos</div>
然后您可以轻松附加您的活动,如:
$('.toggle_link').click(function () {
var name=this.id.split('_');
$('.data_'+name[1]).slideToggle('slow');
});
我在下面放置下划线,以便轻松找到ID的起始位置。我不会说这是生产就绪的代码,但可以给你一个想法。