使用jQuery在表格单元格中设置链接

时间:2013-11-22 14:42:06

标签: javascript jquery html

我有三张桌子的桌子。在第三个td中,我想用其他两个td单元格中的数据动态设置链接 我知道,如何更改链接,但每一行都从第一行获取链接。也许是一个非常简单的解决方案,但我有点无奈

我的代码到目前为止:
HTML:

<table id="table">
  <tbody>
    <tr>
        <td class="one">11</td>
        <td class="two">12</td>
        <td class="three"><a href='#'>13</a></td>
    </tr>
    <tr>
        <td class="one">21</td>
        <td class="two">22</td>
        <td class="three"><a href="#">23</a></td>
    </tr>
  </tbody>
</table>

脚本:

$(document).ready(function () {
  var row = $('#table .three a').closest('tr');
  var td = row.find('td');
  var id1 = td.eq(0).text();
  var id2 = td.eq(1).text();
  $('#table .three a').attr("href", "test.html?" + id1 + "-" + id2);
});

Fiddle

3 个答案:

答案 0 :(得分:1)

您可以使用:

$('#table .three a').each(function () {
    var id1 = $(this).closest('tr').find('td:eq(0)').text();
    var id2 = $(this).closest('tr').find('td:eq(1)').text();
    $(this).prop("href", "test.html?" + id1 + "-" + id2);
});

<强> jsFiddle example

答案 1 :(得分:0)

将您的javascript更改为此

 $(document).ready(function () {


    $('#table .three a').each(function(){
        var row = $(this).closest('tr');
        var td = row.find('td');
        var id1 = td.eq(0).text();
        var id2 = td.eq(1).text();
        $(this).attr("href", "test.html?" + id1 + "-" + id2);
    })
});

答案 2 :(得分:0)

您需要使用.each()

$('#table .three a').each(function (index) {
    var row = $(this).closest('tr');
    var td = row.find('td');
    var id1 = td.eq(0).text();
    var id2 = td.eq(1).text();
    $(this).attr("href", "test.html?" + id1 + "-" + id2);
});   

DEMO