tags:

views:

417

answers:

2

I have the following jquery that adds a onclick to every image within a table

$("#listtable tr td img").each(
    function(intIndex) {
        $(this).click(function() {
          $(this).load("/Admin/ChangeIdeaStatus/" + $(this).attr('rel'));
        });
    }
);

This works ok, however I would like to modify it so that only an image in the first TD of every row in the table gets the onclick event.

I have tried the following, but it does not work

$("#listtable tr td:first img").each(
+5  A: 

Try this, using the :first-child selector

$("#listtable tr td:first-child img").click(function() {
  $(this).load("/Admin/ChangeIdeaStatus/" + $(this).attr('rel'));
});
Nick Craver
Cheers, missed the `first-child` in docs.
Rippo
+1  A: 

Alternatively you could set a .class or #id attribute to the first image of every row and then just select that element to have an onclick event. This might be faster than for-looping if you have a large set.

so $(".firstImageOfTr").each( ...

Floetic
+1 for alternative, thanks
Rippo