1

我有一张桌子

<tbody>
    <tr>
        <td>101</td>
        <td>37,17 m<sup>2</sup></td>
        <td>1</td>
        <td>3</td>
        <td></td>
    </tr>
    <tr>
        <td>102</td>
        <td>30,53 m<sup>2</sup></td>
        <td>1</td>
        <td>2</td>
        <td></td>
    </tr>
    <tr>
        <td>103</td>
        <td>10,53 m<sup>2</sup></td>
        <td>1</td>
        <td>5</td>
        <td></td>
    </tr>
</tbody>

我想从第一个获取文本并将其设置为父级的 id 以像这样结束

<tbody>
    <tr id="101">
        <td>101</td>
        <td>37,17 m<sup>2</sup></td>
        <td>1</td>
        <td>3</td>
        <td></td>
    </tr>
    <tr id="102">
        <td>102</td>
        <td>30,53 m<sup>2</sup></td>
        <td>1</td>
        <td>2</td>
        <td></td>
    </tr>
    <tr id="103">
        <td>103</td>
        <td>10,53 m<sup>2</sup></td>
        <td>1</td>
        <td>5</td>
        <td></td>
    </tr>
</tbody>

我写了这样的东西

var td = $('tobody td:first-child').text(); - returns 101102103

$('tobody tr').attr('id', td); - returns 101102103 for each tr

这个怎么分开??

4

5 回答 5

3

只需遍历所有第一个<td>元素,找到各自的父元素并设置它们的id属性:

$('td:first-child').each(function() {
  $(this).parent().attr('id', $(this).text());
});

如果您有更多表或更大的文档,则锚定操作是有意义的:

$('#table-id').find('td:first-child').each(function() {
    var $this = $(this);

    $this.parent().attr('id', $this.text());
});
于 2013-03-26T10:32:17.487 回答
1

您可以使用each迭代td并将其分配id给父级tr

现场演示

$('td:first-child').each(function(){    
   $(this).closest('tr').attr('id', $.trim($(this).text()));
});
于 2013-03-26T10:30:42.500 回答
1

尝试这个:

$('tobody tr').each(function(){
  $(this).attr('id', $(this).find("td:eq(0)").text().trim());
});

或者简单地说:

$('tbody tr').attr('id' , function(){
  return $(this).find("td:eq(0)").text().trim();
});
于 2013-03-26T10:32:53.550 回答
0
$('tr').each(function() {
  var $this = $(this),
      theId = $this.find('td').first().text();  
  $this.attr('id', theId);
});

请注意,数字 ID 仅在 HTML5 中有效

于 2013-03-26T10:30:58.580 回答
0

.each()在 中遍历<tr>

$('tbody tr').each(function(){
   var txt = $.trim($('td:first',this).text());
   $(this).attr('id', txt);
});

检查小提琴

于 2013-03-26T10:38:52.400 回答