2015-07-22 73 views
2

我有一個html頁面。它包含表格。我想找出一個位於同一位置的特定單元格的索引。即, 這裏是我的表,如何找到相同位置下一行td的索引

<table> 
    <tr> 
     <td rowspan="2">Label 1</td> 
     <td rowspan="2">Label 2</td> 
     <td colspan="2">Label 3</td> 
     <td>Something else</td> 
    </tr> 
    <tr> 
     <td>Item 1</td> 
     <td>Item 2</td> 
     <td>Item 3</td> 
    </tr> 
    <tr> 
     <td> 1</td> 
     <td> 2</td> 
     <td> 3</td> 
     <td> 4</td> 
     <td> 5</td> 
    </tr> 
</table> 

在這裏,我想找到下一行的TD的指數ITEM2的同一位置(即,指數4)。 jQuery如何可能?

+0

@Alexander:其實我想,當我點擊'​​ITEM2'它顯示的'​​4' – Rose

+0

索引你能更具體的!在item2_的相同位置_下一行的td將是「2」? –

+0

@Guruprasad Rao:Nop。如果單擊項目2,我想要提醒'​​4' – Rose

回答

0

試試這個。

代碼片段:(更新)

$(document).on('click', 'button', function() { 
 
var ele = $('table tr:eq(1)'), childEle = ele.children() ; 
 
var len = childEle.length;  
 
for(var i=0; i< len;i++){ 
 
    var tdText = childEle.eq(i).text(); 
 
    var itemIndex = ele.children('td:contains("'+tdText+'")').index(); 
 
    var positionFromLast = len-(itemIndex); 
 
    var nxtTrEle = ele.next(); 
 
    var nxtTrLength = nxtTrEle.children().length; 
 
    var ind = nxtTrLength - positionFromLast; 
 
    var reqIndex = nxtTrEle.children(':eq('+ind+')').index(); 
 
    alert(reqIndex);  
 
} 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> 
 
<table> 
 
    <tr> 
 
     <td rowspan="2">Label 1</td> 
 
     <td rowspan="2">Label 2</td> 
 
     <td colspan="2">Label 3</td> 
 
     <td>Something else</td> 
 
    </tr> 
 
    <tr> 
 
     <td>Item 1</td>  
 
     <td>Item 2</td> 
 
     <td>Item 3</td> 
 
    </tr> 
 
    <tr> 
 
     <td> 1</td> 
 
     <td> 2</td> 
 
     <td> 3</td> 
 
     <td> 4</td> 
 
     <td> 5</td> 
 
    </tr> 
 
</table> 
 
<br/> 
 
<button>Get Parallel Index</button>

希望這有助於!

+0

您的代碼對於只有一個td正常工作。但是,如果我想以同樣的方式使用所有td的索引,代碼的外觀如何? – Rose

+0

只需通過循環更改'contains'的值 –

+0

我已經更新了答案。請立即檢查。 –

相關問題