2015-07-22 71 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

我已经更新了答案。请立即检查。 –

相关问题