JQuery循环数组右键

时间:2013-08-19 07:15:36

标签: jquery

我目前有这个工作代码:

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

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

2 个答案:

答案 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。 你应该真的尝试优化你的选择器。你的看起来有点疯狂。