2011-05-04 60 views
0
<tr id="autogeneratedrowid_gridrow1"> 
    <td>1</td> 
     <td>2</td> 
    <td> 
     <table id="unitprice"> 
      <tbody> 
      <tr> 
      <td> 
      <A class=link2 id="aurogenerated" onclick="setMode(this); return false;">Edit</A> 
         </td> 
      </tr> 
      </tbody> 
     </table> 
    </td> 
</tr> 
<tr id="autogeneratedrowid_gridrow2"> 
..... 
..... 
</tr> 

這是我當我點擊鏈接按鈕setMode功能呈現的HTML代碼被稱爲& I M過客「這」指的鏈接按鈕,我想找到gridrow當鏈接按鈕是點擊使用jQuery功能? 我用這如何從單元格內容中找到行點擊?

$("#" + lnkBtn.id).parent().parent().parent().parent().parent().parent(); 

但這不是做

回答

3

當你的IDS是自動生成的正確的方式,你可以這樣做:

$("#" + lnkBtn.id).closest("table").closest("tr"); 

closest做什麼,是找到與選擇器匹配的最接近的前綴。

編輯: 我上面的解決方案可以解決您的問題。但是,一個更好的解決方案(如果你可以改變HTML標記),將是一個類添加到您的所有行tr S,讓我們說「rowClass」,像這樣:

<tr id="autogeneratedrowid_gridrow1" class='rowClass'> 

然後你的選擇會是這個:

$("#" + lnkBtn.id).closest(".rowClass"); 

希望這會有所幫助。乾杯

+0

但我的ID是autogeneated我怎麼能添加一個類呢? thanx – Tuscan 2011-05-04 05:57:30

+0

id無所謂,它會保持原樣。你必須添加'tr' a ** class **屬性的值'rowclass',所以你有'' – 2011-05-04 06:55:49

0

可以使用closeset

http://api.jquery.com/closest/

$("#" + lnkBtn.id).parent().closest('tr') 
+0

這將在第七行找到tr的代碼(錯誤) – 2011-05-04 06:59:01

0
$('.link2').closest('table').closest('tr'); 
0
$("#" + lnkBtn.id).parents('tr').index()); 

這個代碼將會給該行的索引,希望這會幫助你。

相關問題