0

我有这样的表结构

<table>
    <tr id="tr_1">
        <td>Content1</td>
        <td>Content2</td>
        <td>Content3</td>
        <td>Content4</td>
    </tr>
    <tr id="tr_2">
        <td>Content5</td>
        <td>Content6</td>
        <td>Content7</td>
        <td>Content8</td>
    </tr>
    <tr id="tr_1">
        <td>Content11</td>
        <td>Content12</td>
        <td>Content13</td>
        <td>Content14</td>
    </tr>
    <tr id="tr_2">
        <td>Content15</td>
        <td>Content16</td>
        <td>Content17</td>
        <td>Content18</td>
    </tr>
</table>

我将行 index(2) 和<tr>id (tr_1) 传递给一个 js 函数,用于替换该行中 2nd 3 rd td 的内容。我有一个 jquery 函数

document.getElementById('tr_1').getElementsByTagName("td")[2].innerHTML = '<td>New html</td>';

但这取代了第一个trhtml。我们如何tr_1用索引 2替换 id

4

4 回答 4

0

尝试这个:

jQuery("[id=tr_1]:eq(1) td:eq(1)").html("new html");

请注意,您需要插入 jquery 插件:

http://jquery.com/download/

于 2012-11-08T09:10:52.810 回答
0

如果您使用的是 jquery .. 那么这应该可以工作..

$("#tr_1 td").eq(2).html("<td>New html</td>");

这是 eq() 的链接... http://api.jquery.com/eq/

于 2012-11-08T09:12:23.763 回答
0

尝试这个

<script language="javascript" type="text/javascript" src="jquery-1.8.2.js"></script>
<script language="javascript" type="text/javascript">
$(document).ready(function() {
    $('#tr_1 td:eq(1)').html('Replacing Content of td 2');
    $('#tr_1 td:eq(2)').html('Replacing Content of td 3');
});                
</script>
于 2012-11-08T09:14:22.047 回答
0

您没有唯一的 ID。对于 JavaScript 来说,DOM 使用唯一 ID 是必不可少的。

在 jQuery 中,您可以使用它来定位 id 设置为的 to tr 元素tr_1

$("tr[id=tr_1]");

要获取这些 tr 中的第二个元素,您需要使用jQuery.fn.each

$("tr[id=tr_1]").each(function() {
    $("td", this).eq(1).html("new html");
});
于 2012-11-08T09:20:28.600 回答