如何选择特定表的元素?

时间:2016-08-14 13:46:17

标签: jquery

我有一个由多个表组成的页面,每个表都包含一个表单的唯一ID。 如何获取单击提交按钮的表的ID? 我最终想使用id作为选择器来显示数据。 See my demo

Jquery

  $(document).ready(function() {
      $('.myForm').submit(function(e) {
          var data = $('table').attr('id');
          alert(data);

          e.preventDefault();

      });

  });

html

<form id="myForm" class="myForm" action="" method="post">
    <table id="mytable1">
        <tbody>
            <tr>
                <td>
                    my table 1
                </td>
            </tr>
        </tbody>
    </table>
    <button type="submit" name="submit3">Submit

</button>
</form>
<form id="myForm" class="myForm" action="" method="post">
    <table id="mytable2">
        <tbody>
            <tr>
                <td>
                    my table 2

                </td>
            </tr>
        </tbody>
    </table>
    <button type="submit" name="submit3">Submit

</button>
</form>

2 个答案:

答案 0 :(得分:2)

这应该这样做:

var data = $(this).find('table').attr('id')

(哈。明白吗?这个应该这样做吗?我是一个笑骚乱。)

这将为您提供已提交的表单,因此查找其中的表格应该可以满足您的需求。

答案 1 :(得分:1)

如果table元素始终位于表单中,则可以使用children函数。它的一个好处是它应该更快地工作,因为它只遍历父级内的元素,并且不会遍历所有级别的HTML。

$(function() {
  $('.myForm').submit(function(e) {
      e.preventDefault();

      var table = $(this).children('table').attr("id");

      //do something with table
  });
});

否则,科林所建议的find肯定是最好的选择。