JQuery - 在找到的类之后开始迭代tds的子集

时间:2012-03-22 12:36:13

标签: jquery

我正在寻找一种更加jquery /更清晰的方式来选择所有td.some-class并能够从'选择'开始并应用一些以便随后的tds。

<table>
  <tr>
    <td class='some-class'>A</td>
    <td class='some-class'>B</td>
    <td class='some-class'>C</td>
 </tr>
  <tr>
    <td class='some-class'>A1</td>
    <td class='some-class'>B2</td>
    <td class='some-class selected'>C3</td>
 </tr>
  <tr>
    <td class='some-class'>A21</td>
    <td class='some-class'>B22</td>
    <td class='some-class'>C23</td>
 </tr>

我现在这样做的方式非常像:

found = false;
$('td.some-class').each(function(){

     if ($(this).hasClass('selected')){
        found  = true;
     }
     if (found){
           # do something
     }
});

2 个答案:

答案 0 :(得分:3)

这是我对jsfiddler

的快速尝试
var index = $('#xTable td').index($("#xTable td.selected"));    
$('#xTable td:gt('+ index+')').css("border", "1px solid red");

希望这是你的意图

答案 1 :(得分:1)

我的尝试(这比@suhair回答更有效率):

var all = $('#xTable .some-class');
var selected = all.filter('.selected')[0];
var selectedIndex = all.index(selected);
var after = all.filter(':gt(' + selectedIndex + ')');

@suhair Updated DEMO

JSperf