下一个TD的第一个TD

时间:2012-01-15 03:17:00

标签: javascript jquery html

我有:

<table>
    <tr class="here">
        <td class="first">first</td>
        <td class="next" par="http://google.com">next</td>
        <td class="next" par="http://stackoverflow.com">next</td>
    </tr>
</table>

直播:http://jsfiddle.net/C5vSP/

我想收到jQuery:

<table>
    <tr class="here">
        <td class="first"><a href="http://google.com">first</a></td>
        <td class="next" par="http://google.com">next</td>
        <td class="next" par="http://stackoverflow.com">next</td>
    </tr>
</table>

必须从第一个 TD.next 获取参数 par ,并使用此参数在第一个TD中建立链接。

可以使用jQuery吗?如果是,怎么样?

修改 谢谢你的回答。对于所有+1。我还有一个问题:

<table>
    <tr class="here">
        <td class="first">first</td>
        <td class="next" par="http://google.com">next</td>
        <td class="next" par="http://stackoverflow.com">next</td>
    </tr>
        <tr class="here">
        <td class="first">first</td>
        <td class="next" par="http://yahoo.com">next</td>
        <td class="next" par="http://stackoverflow.com">next</td>
    </tr>
        <tr class="here">
        <td class="first">first</td>
        <td class="next" par="http://cnn.com">next</td>
        <td class="next" par="http://stackoverflow.com">next</td>
    </tr>
</table>

现场:http://jsfiddle.net/C5vSP/2/

此添加适用于所有.here链接google.com而不是google.com,yahoo.com和cnn.com。 我不能修改HTML。我只能使用jQuery。 我怎样才能正确地做到这一点?

3 个答案:

答案 0 :(得分:7)

如何: jsFiddle

var url =  $('td.next:first').attr('par');
$('td.first').wrapInner('<a href="'+url+'">');

答案 1 :(得分:3)

选择器如下所示:

myTD = $('table tr.here td.next').filter(':first')

我建议将参数“par”改为“data-par”,这样你就可以说利用Jquery的data()函数了。数据函数读入以“data-”开头的任何参数,例如......

myvar = myTD.data('par');

我并不完全清楚你的意思是“用这个参数在第一个TD中建立链接。”但是,让我们说你想把第二个TD内的“下一个”变成一个链接......

myTD = $('table tr.here td.next')
newLink = '<a href="' + myvar + '">' + myTD.html() + '</a>';
myTD.html( newLink);

答案 2 :(得分:2)

编辑完成后,这是你想要的吗? Jsfiddle

$("tr.here").each(function (){//Iterate all the <tr/>
    var $html = $(this);
    var $firstTd =  $html.children(":first");//get the first td.
    var url = $firstTd.next().attr("par");//Get the first par value.
    $firstTd.wrapInner('<a href="'+url+'">');//Append the value.
})