3

我有以下代码:

<table id="my_table">
<tr>
    <td>
        <button class="btn_save" value="1">Save</button>
    </td>
</tr>
</table>

我想选择那个按钮

我试过了:

$('#my_table .btn_save').click......
$('table#my_table .btn_save').click......
$('table td .btn_save').click......
$('table td :button.btn_save').click......

似乎没有任何效果,我错过了什么?

顺便说一句,我不能在按钮上放一个 id,因为这将是一个带有很多按钮的动态生成表,这就是我选择课堂方式的原因。

4

4 回答 4

4

你所有的选择器看起来都不错。(这是一个工作的jsFiddle

我看到两个可能的问题:

您的数据是动态添加的,在这种情况下,您需要使用事件延迟.on()

$(document).on("click",'#my_table .btn_save',function(){
   //what you're doing
});

另一种可能性是选择器添加在数据之前,在这种情况下,您需要将语句放在$(document).ready子句中

$(function(){
    $('#my_table .btn_save').click......
});
于 2013-03-21T20:47:02.327 回答
3

由于您正在动态生成表格和内容,因此请使用.on(). 尝试

$(document).on('click', '#my_table .btn_save', function(){......
于 2013-03-21T20:46:56.637 回答
0

确保在运行代码时表和按钮存在于 dom 中。

$(function(){
      var button = jQuery("#my_table button.btn_save")
});
于 2013-03-21T20:46:15.070 回答
0

您点击这些按钮的频率无关紧要。不保证他们会提交您的表格!您将不得不将它们更改type="submit"type="button"

于 2013-03-21T20:46:37.397 回答