我目前有这个工作代码:
$('#imgX').on('click', function(){
$('table#newspaper-a tr:has(td.X)').toggle();
});
我的问题是,是否可以创建一个 1-100 的数组(对于 X 的值)并循环遍历它以查看是否单击了按钮?因为我在每个 td 上都有一个名为 'img1' 'img2' 的按钮,我希望该按钮用相同的数字切换 td。
我目前有这个工作代码:
$('#imgX').on('click', function(){
$('table#newspaper-a tr:has(td.X)').toggle();
});
我的问题是,是否可以创建一个 1-100 的数组(对于 X 的值)并循环遍历它以查看是否单击了按钮?因为我在每个 td 上都有一个名为 'img1' 'img2' 的按钮,我希望该按钮用相同的数字切换 td。
您最好添加一个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
加上一些东西。这是一个演示上述内容的小提琴。
循环遍历所有 tds 不是一个好主意。如果你有 1000 行或类似的东西怎么办。我会建议使用这样的脚本:
$("#yourbutton").on("click", function() {
$(this).parent().toggle();
});
即.parent()选择按钮所属的 td。
PS你真的应该尝试优化你的选择器。你的看起来有点疯狂。