JQuery如何从<button>内部遍历<form>,<div>介于</div> </button> </form>之间

时间:2012-11-15 11:39:28

标签: jquery forms html input traversal

好吧,伙计们,所以我有以下结构,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在警告弹出窗口中显示“未定义”。

3 个答案:

答案 0 :(得分:1)

使用

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

更新

$(':button').click(function(){
    alert($(this).closest('form').attr('class'));
});

答案 1 :(得分:1)

这肯定会奏效:

 $('button').click(function(){
     alert($(this).closest('form').attr('id'));
 });

答案 2 :(得分:0)

你试过吗

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

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

DEMO

<强>更新

你可以像这样简单submit

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