jQuery获取表的特定列中的每个<img/>元素

时间:2013-06-18 08:22:22

标签: javascript jquery html

我的表是这样的:

<table>
    <tr>
       <td>
           <img src="" />
           <span>blah</span>
       </td>
    </tr>
    ...

因此,在每一行中,第一列包含图像。我需要在每个图像上注册事件。那我怎么选择呢?

我试过了:

td:eq(0):nth-child(0)

但它没有用。

8 个答案:

答案 0 :(得分:2)

像这个选择器:

td:first-child > img

我应该工作......

答案 1 :(得分:2)

对于nth-child选择器,索引是基于1的。我认为这样的事情对你有用:

$("td:nth-child(1) > img")

甚至更简单:

$("td:first-child > img")

答案 2 :(得分:1)

我建议:

$('table tr td:first-child img').on('event', function (){
    // handle the event here
});

答案 3 :(得分:0)

看到您想要将事件附加到图像,而不是迭代到每个图像,您可以像这样绑定事件处理程序:

$("table").on("eventname", "td:first-child img", function(i){
 //your code
});

演示:http://jsfiddle.net/hungerpain/PYFhw/

答案 4 :(得分:0)

我认为http://forum.jquery.com/topic/jquery-how-to-select-all-first-tds-inside-all-tr-in-a-table包含几个解决方案:

$('tr td:first-child')

$('tr').find('td:eq(0)')

$("tr td:nth-child(1)")

答案 5 :(得分:0)

$('table > tr > td:first-child > img').bind('click', function() {
   // your code
});

我会为表格提供一个唯一的id以获得更高的精确度。

$('#table_id > tr > td:first-child > img').bind('click', function() {
   // your code
});

使用您需要检查的wathever事件替换上面代码中的'click'

答案 6 :(得分:0)

您可以按如下方式选择表格的第一列图像:

$('tr').find('td:eq(0)')

答案 7 :(得分:0)

检查

$(function(){
$("table tr td:first-child").on("click","img",function(){
    console.log("hey");
});
});