0

さて、私は以下の構造を10回持っています。つまり、10個のフォームを意味します。 $('button')ご存知のように、任意のボタンのイベントを処理します。

<div>
  <form ...>
    <div><button type='button'>Submit</button></div>
    <div><input /></div>
    <div><input /></div>
    <div><input /></div>
    <div><input /></div>
  </form>
</div>

JQueryのみを使用し、そのトラバースメソッドのみを使用して、ボタンをクリックしたときに<form>からを取得するにはどうすればよいですか?$(this)

以前、parent()、prev()などを組み合わせて使用​​しましたが、取得できませんでした。たとえば$(this).closest('form').nodeName、アラートポップアップに「undefined」を表示します。

4

3 に答える 3

1

使用する

  $(':button').closest('form')

アップデート

$(':button').click(function(){
    alert($(this).closest('form').attr('class'));
});
于 2012-11-15T11:43:41.010 に答える
1

これは間違いなく機能します:

 $('button').click(function(){
     alert($(this).closest('form').attr('id'));
 });
于 2012-11-15T11:55:49.797 に答える
0

やってみました

$('button').parents('form:first').get(0).nodeName;

このような

$('button').click(function(){
    alert($(this).parents('form:first').get(0).nodeName);
});​

デモ

アップデート:

submitあなたはこのようにそれを単純化することができます

$('button').click(function(){
     $(this).parents('form:first').get(0).submit();
});​
于 2012-11-15T11:44:22.443 に答える