2010-12-02 56 views
1

我試圖實現一個功能,用戶可以點擊一行,即<tr>,它會轉到特定的URL。jquery find輸入:safari中隱藏的錯誤

這裏是我的HTML和jQuery代碼:

   <tbody> 

        <tr> 
         <input class="threadid_c" id="threadID" name="threadID" type="hidden" value="MzAwMTYwLDMwMDM3Miw=" /> 
         <td> 
          ... 
     </tr> 
        <tr> 
         <input class="threadid_c" id="threadID" name="threadID" type="hidden" value="MzAwMzcyLDMwMDM4MCw=" /> 
         <td> 
      .... 

     $('#datatable tr').click(function() { 
      var x = $(this).find("input:hidden"); 
      var url = "/User/Ping/" + x.val(); 
      location.href = url; 
     }); 

這工作在Chrome,火狐和IE的罰款。但在Safari中,x.val()返回undefined

我在Safari瀏覽器的JavaScript控制檯望去,我看到這條消息:如果

<input> is not allowed inside <tr>. Inserting <input> before the <table> instead. 

不知道這是相關的問題。有什麼建議麼?

回答

1

你不能有一個<input>作爲直接<tr>孩子就跟它說,只是把它塞到第<td>內,而不是像這樣:

<tr> 
    <td> 
    <input class="threadid_c" name="threadID" type="hidden" value="MzAwMzcyLDMwMDM4MCw=" /> 
    .... 

因爲它的重複也去掉id屬性..它們在頁面中應該是唯一的。

+0

謝謝,那絕對是我的腦部放屁 – Dean 2010-12-03 00:34:46