0

我目前有这个工作代码:

 $('#imgX').on('click', function(){
    $('table#newspaper-a tr:has(td.X)').toggle();
});

我的问题是,是否可以创建一个 1-100 的数组(对于 X 的值)并循环遍历它以查看是否单击了按钮?因为我在每个 td 上都有一个名为 'img1' 'img2' 的按钮,我希望该按钮用相同的数字切换 td。

4

2 回答 2

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加上一些东西。是一个演示上述内容的小提琴。

于 2013-08-19T07:17:53.390 回答
0

循环遍历所有 tds 不是一个好主意。如果你有 1000 行或类似的东西怎么办。我会建议使用这样的脚本:

$("#yourbutton").on("click", function() {
   $(this).parent().toggle();
});

.parent()选择按钮所属的 td。

PS你真的应该尝试优化你的选择器。你的看起来有点疯狂。

于 2013-08-19T07:18:35.743 回答