0
<table id="table" border="1">
    <tr>
        <td>
            <table border="1">
                <tr>
                    <td>aaa</td>
                </tr>
            </table>
        </td>
    </tr>
    <tr>
        <td>
            <table border="1">
                <tr>
                    <td>bbb</td>
                </tr>
            </table>
        </td>
    </tr>
    <tr>
        <td>
            <table border="1">
                <tr>
                    <td>ccc</td>
                </tr>
            </table>
        </td>
    </tr>
</table>

<span id="append">append</span>   

$('#append').click(function(){
   $('table#table tr').append('<tr><td><table><tr><td>ddd</td></tr></table></tr>');
})

如何仅在第一个元素上使用 jQuery 的附加功能?当我在这里使用 append 时,它会附加所有子表。我只想附加第一个子表。我尝试使用>选择器,但它不起作用。我怎样才能达到这个效果?

现场演示

4

6 回答 6

1

尝试这个:

$('#append').click(function(){
    $('table#table tr').first().append('<tr><td><table><tr><td>ddd</td></tr></table></tr>');
})
于 2013-08-08T08:03:46.780 回答
1

您可以使用以下first()方法:

$('#append').click(function(){
    $('table#table tr').first().append('<tr><td><table><tr><td>ddd</td></tr></table></tr>');
})

尽管这会使 HTML 无效。我认为您要附加的是:

<td><table><tr><td>ddd</td></tr></table></td>

JSFiddle

于 2013-08-08T08:03:57.920 回答
0
$("#table table tr:first").after('<tr><td><table><tr><td>ddd</td></tr></table></tr>');

经过测试的现场演示

于 2013-08-08T08:04:07.757 回答
0

如果我了解您的要求,则以下内容应该有效。请注意,我将附加到第一个子表,因为您不能将 atr作为 a 的直接子级tr(这就是为什么您最终得到另一个嵌套table的 .

$('#append').click(function(){
    $('#table table:first').append('<tr><td><table><tr><td>ddd</td></tr></table></tr>');
})

更新的小提琴

于 2013-08-08T08:04:42.783 回答
0

尝试$('table#table tr:first-child')

于 2013-08-08T08:05:03.193 回答
0

看一下jQuery first-child 选择器

于 2013-08-08T08:03:56.047 回答