我目前有这个工作代码:
$('#imgX').on('click', function(){
$('table#newspaper-a tr:has(td.X)').toggle();
});
我的问题是,是否可以从1-100(对于X的值)生成一个数组并循环查看是否单击了一个按钮? 因为我在每个td上都有一个名为'img1''img2'的按钮,我希望该按钮用相同的数字切换td。
答案 0 :(得分:3)
您最好添加data-
属性以尝试识别正确的图像:
<强> HTML 强>
<img src="whatever.jpg" data-idx="1" alt="My Image" />
<img src="whatever.jpg" data-idx="2" alt="My Image" />
<img src="whatever.jpg" data-idx="3" alt="My Image" />
<img src="whatever.jpg" data-idx="4" alt="My Image" />
<img src="whatever.jpg" data-idx="5" alt="My Image" />
<table id="newspaper-a">
<tr>
<td class="td1">1</td>
<td class="td2">2</td>
<td class="td3">3</td>
<td class="td4">4</td>
<td class="td5">5</td>
</tr>
</table>
<强>的jQuery 强>
$('img').on('click', function(){
$('table#newspaper-a tr:has(td.td' + $(this).data("idx") + ')').toggle();
});
此外,CSS类不能以数字开头,因此您需要在idx
前加上一些内容。 Here是演示上述内容的小提琴。
答案 1 :(得分:0)
循环遍历所有tds并不是一个好主意。如果你有1000行或类似的东西怎么办?我建议使用这样的脚本:
$("#yourbutton").on("click", function() {
$(this).parent().toggle();
});
即。 .parent()选择按钮所属的td。
P.S。 你应该真的尝试优化你的选择器。你的看起来有点疯狂。