2013-10-22 218 views
1

我的HTML代碼如下所示:目標父母的第一個孩子

...more rows 
<tr class="highlightRow" id="tr0" style="display: table-row;"> 
    <td>0. TIC&nbsp;</td> 
    <td>123456&nbsp;</td> 
    <td> 
     <input type="text" value="12345" id="txt0" name="txtTicRequired0" class="tic"> 
    </td> 
    <td> 
     <input type="checkbox" onclick="checkIfChecked(0);" checked="" id="ck0"> 
    </td> 
</tr> 
...more rows 

我的出發點是輸入字段的在第三td元素的ID,我要定位的tr的第一td

要轉到tr我用:​​但如何才能使我從父母使用first-clild選擇去第一td元素?

回答

3

使用try:

$('#txt0').closest('tr').find('td:first'); 
+0

非常好。我從來不喜歡鏈接'parent()'調用,因爲它對我來說感覺很脆弱 - 與文檔的結構太緊密相關。 – Yuck

+0

同意。再加上它最接近()是爲了處理。 – j08691

+1

Yeap,的確這是一個非常聰明的解決方案!很棒!謝謝 – MaVRoSCy

1

嘗試像

$('#txt0').parent().parent().find('td:eq(0)'); 

或用first代替eq

$('#txt0').parent().parent().find('td:first'); 
+0

我想提供這樣的第一個解決方案:'\t $( '#' + inputId).parent ().parent()。('td:eq(0)')。css('font-weight','bold');'但是我的控制檯抱怨'SyntaxError: operator' – MaVRoSCy

+0

你seeen我編輯..?請看它。我已經與'find' immidiatly我forgotted打字時 – Gautam3164

+1

葉氏,你是對的,這個工作變過。謝謝 – MaVRoSCy

2

而不是鏈接parent()電話,使用closest()一個選擇:

var $firstTd = $('#txt0').closest('tr').find('td:first'); 
2

可以使用.closest()選擇來實現這一

試試這個

$('#txt0').closest('tr').find('td:first');