2014-01-16 42 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財產。