2014-01-16 41 views
1

这里Click事件是含有形成正常的HTML文件,它有一些孩子的标签,部分代码:对DOM回报父亲的属性

<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); 
    }); 
}); 

但经过我在浏览器中点击任何输入要素,输出的方法和行动的价值观是“不确定”。如何返回正确的功能。

回答

2

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

var a=$(this).closest("form").prop('method'); 
var b=$(this).closest("form").prop('action'); 
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

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

要么使用简单native DOM

var a = this.form.method; 

proper的jQuery:

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

相同的为action财产。