2011-12-14 10 views
0

нужно выбрать данные из каждого первого <td> <img> данных тегов, процесс его и затем установить <td> <div> значение, я попытался так:JQuery выбрать конкретные ячейки таблицы

$('tbody >tr').each(function() { 
    var tr= jQuery(this); 
    var img = $(tr,'tr > img').attr('data'); 
    //next setting div value 
    }); 

Но это не работает.

<table> 
     <thead> 
      <tr> 
       <th>..</th> 
       .. 
      </tr> 
     </thead> 
     <tbody>       
      <tr> 
       <td> <img data="12"/>'> </td> 
       ..   
       <td><div id="test"></div> </td> 
       <td>..</td> 
      </tr> 
      <tr> 
      .. 
      </tr> 
     </tbody> 
    </table> 

ответ

1

Пока вы используете .each() во всяком случае, сделать это:

$('tbody > tr > td > img').each(function() { 
    var data = $(this).attr('data'); 
    //next setting div value 
}); 

Или, если вам нужно для выбора div, который вложен из каждой строки, сделайте следующее:

$('tbody > tr').each(function() { 
    var row = $(this); 
    var data = row.find('> td > img').attr('data'); 
    row.find('.some_div').text(data); 
}); 
+0

должен быть row.find ('# some_div'), если id – Sergey

+0

@Sergey: Да, но если идентификатор, вы должны иметь только один на странице. Вы не можете повторно использовать один и тот же идентификатор. – RightSaidFred

1

Пробовал как этот

$('tbody td img, tbody td > div').each(function() { 
     //your event handler here 
}); 

С селектором ваш получить два элемента, которые вы хотите img и divs в одном селекторе. Таким образом, с этим вы могли бы контактировать и обрабатывать каждый элемент