2014-05-19 4 views
-3

У меня есть что-то вроде этого:Получение индекса строки в JQuery

$("#myTable td").each(function(){ 
    if($(this).html()=="") 
    {  
     rIndex1=$(this).parent().index(); //this always stays "1" 
     rIndex2=$(this).rowIndex; //this stays as "undefined" 

, но ни один из них не работает. Я googled, и все ответы на них зависят от событий кликов. Здесь я перемещаю всю таблицу, и если я найду ячейку NULL, то я хочу найти индекс строки этой ячейки. Любой метод?

EDIT: сообщение

rIndex=$(this).closest("tr").index(); //returns 1 always 
rIndex=this.parentNode.rowIndex; //returns -1 always 
rIndex=$(this).parentNode.rowIndex; //returns error msg. (I'm trying everything now) 

Ошибка:

Uncaught TypeError: undefined is not a function

+1

'$ (this) .rowIndex' должно быть' this.parentNode.rowIndex'. –

+0

пытается использовать шкаф ("tr") вместо parent() – Runcorn

+0

Или '$ (this) .parent(). Prop ('rowIndex')'. – undefined

ответ

1

Cache строки в $rows переменной, то найти индекс текущего tr (ака td родителя) в вашем кэшированных коллекции.

var $rows = $("#myTable tr"); 
$("#myTable td").each(function(){ 
    if($(this).html()=="") 
    {  
     rIndex = $rows.index($(this).parent()); 
    } 
}); 
Смежные вопросы