在Html表中是否可以获取位于另一行的元素的id?

时间:2015-04-17 04:12:25

标签: jquery html-table

我有这个HTML表结构,我定义了各种行(tr):

<table>
    <tr><td><button id="1" onclick="getid()"></button></td></tr>
    <tr><td><button id="2" onclick="getid()"></button></td></tr>
    <tr><td><button id="3" onclick="getid()"></button></td></tr>
    <tr><td><button id="4" onclick="getid()"></button></td></tr>
    <tr><td><button id="5" onclick="getid()"></button></td></tr>
</table>
<script>
    function getid(){
        alert($(this).closest('[id]'));
    }
</script>

点击任何按钮,我应该能够获得位于行和行下方的按钮的ID。

我没有得到。出了什么问题?

1 个答案:

答案 0 :(得分:3)

修改onclick处理程序传递this作为Html中的参数,然后使用.next().prev() jQuery方法,如下所示: -

HTML: -

<table>
    <tr><td><button id="1" onclick="getid(this)"></button></td></tr>
    <tr><td><button id="2" onclick="getid(this)"></button></td></tr>
    <tr><td><button id="3" onclick="getid(this)"></button></td></tr>
    <tr><td><button id="4" onclick="getid(this)"></button></td></tr>
    <tr><td><button id="5" onclick="getid(this)"></button></td></tr>
</table>

jQuery: -

<script>
function getid(elem){
    alert($(elem).closest('tr').prev('tr').find('button').attr('id'));
    alert($(elem).closest('tr').next('tr').find('button').attr('id'));
}
</script>

DEMO