我需要从每个第一个<td> <img>
数据标记中选择数据,处理它然后设置<td> <div>
值,我尝试这样:
$('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>
答案 0 :(得分:1)
var img = $(tr,'tr > img').attr('data');
应该是
var img = $(tr).children('td:first-child').children('img').attr('data');
答案 1 :(得分: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);
});
答案 2 :(得分:1)
像这样试过
$('tbody td img, tbody td > div').each(function() {
//your event handler here
});
使用该选择器,您可以获得一个选择器中img
和divs
的两个元素。因此,您可以循环并处理每个元素