点击DOM返回父亲属性的事件

时间:2014-01-16 21:00:08

标签: javascript jquery dom

这是一个包含表单的普通HTML文件,它有一些子标签,代码的一部分:

<form name="search" action="/cgi-bin/MAPSEARCH2" method="get" onsubmit="var the_result = checkMapNumbers();
return the_result;">
  <input type="hidden" name="LOCAL" value="ALE">
  <table width="700">
    <tbody>

      <td width="20">
       <input type="radio" name="ORDER" value="NAM" checked=""></td>
      <td width="100" valign="top"><font style="color:#330099;">Owner´s Name:</font></td>

   </tbody></table>
</form>

我想做的就是在这个所有类型的“输入”标签上添加一个点击功能:并返回两个值:

其父亲“形式”的“方法”和“行动”属性。

以下是我的JS代码:

$(document).ready(function(){                                          
    $("input").click(function(){
    var a=$(this).parents("form").method;
    var b=$(this).parents("form").action;    
    $("#test1").text("parents.name:"+ a+ "parents.action"+b);
    });
});

但是在浏览器中单击任何输入元素后,方法和操作值的输出是“未定义”。如何返回正确的功能。

3 个答案:

答案 0 :(得分:4)

var a=$(this).parents("form").method;

使用简单的native DOM

var a = this.form.method;

proper jQuery:

var a = $(this).parents("form").prop('method');

action属性相同。

答案 1 :(得分:2)

使用.prop(),它会获取属性的值

var a=$(this).closest("form").prop('method');
var b=$(this).closest("form").prop('action');  

答案 2 :(得分:1)

试试这个,

   $(document).ready(function(){                                          
        $("input").click(function(){
        var a=$(this).closest("form").attr("method");
        var b=$(this).closest("form").attr("action");    
        $("#test1").text("parents.name:"+ a+ "parents.action"+b);
        });
    });

FIDDLE

相关问题