Jquery:如何正确使用.next()方法?

时间:2014-05-13 19:23:17

标签: jquery

<div id="demoC12" class="collapse in" style="height: auto;">
    <form id="fd12">
        <input type="button" id="TestButton">
    </form>
</div>

<div id="div" style="margin-top:10px"></div>

<table class="table table-condensed table-hover TableDog mgtb20">
    <thead>
        <tr>
            <th></th>
            <th></th>
            <th></th>
            <th></th>
            <th></th>
            <th></th>
        </tr>
    </thead>    
    <tbody class="ClassTbody">

    <tr>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
    </tr>
    </tbody>
</table>

要清除tbody.ClassTbody中的html,请使用以下代码:

$("body").on("click", "#TestButton", function(){
    $(this).parent().parent().next("tbody.ClassTbody").html('');
});

但它不起作用......

另外,我需要将clear html更改为tbody.ClassTbody找到的第一个元素。

请告诉我,错误在哪里?我该如何纠正?

1 个答案:

答案 0 :(得分:2)

.next()永远不能选择以下兄弟。

我认为你可以这样做:

$("body").on("click", "#TestButton", function(){
    $("tbody.ClassTbody").html('');
});

但如果您需要遍历,请尝试以下操作:

$("body").on("click", "#TestButton", function(){
    $(this).closest('div').nextAll('.table').first().find("tbody.ClassTbody").html('');
});

查看文档以获取树遍历方法列表,找到适合您的方法:http://api.jquery.com/category/traversing/tree-traversal/