我有这个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。
我没有得到。出了什么问题?
答案 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>