2013-04-03 4 views
0

Пример:Получение позиции столбца в JQuery

<table> 
    <tr> 
    <th>Bacon</th> 
    <th>Tuna</th> 
    <th>Padas</th> 
    <th>Another</th> 
    <th>Name</th> 
    </tr> 
</table> 

Как я могу получить позицию колонки после загрузки страницы

$(document).ready(function() { 
    bla..bla 
}); 

Выход был бы bacon = 0, tuna = 1 padas = 2 и так далее ... TY

+1

Хотя я пересмотрел ответ @Michael Nguyen, он получил то, что я пытаюсь выяснить, и я пришел к этому, 'столбец = []; $ counter = -1; $ ("table th"). Each (function() { column.push ($ (this) .text() + "=" + ++ $ counter); }); предупреждение (столбец); ' Благодарим вас за идею ребята. – hardToThinkOfName

+0

не волнуется, я бы не подумал о создании нового решения, если бы вы хотели, чтобы массив заполнялся каждым заголовком :) –

ответ

0
$(document).ready(function(){ 
    $counter = -1; 
    $("table th").each(function(){ 
     document.write($(this).text() + " = " + ++$counter); 
    }); 
}); 

наслаждаться :)

1
$(function() { 
    var columns = new Array(); 
    $('table tr th').each(function(idx) { 
     columns[idx] = $(this).text().toLowerCase(); 
    }); 

    // do what you need to do with your columns array here. eg: 
    for(var i = 0;i < columns.length;i++) 
    document.write(columns[i] + ','); 

}); 

Пример здесь: http://jsfiddle.net/3Nzhu/1/

Примечание: вы должны дать вашей таблице идентификатор и изменить селектор выше «#mytableid тр е»

1

Вы можете использовать map:

var mapping = {}; 

$('table th').map(function(elem, index) { 
    mapping[$(elem).text().toLowerCase()] = index; 
}); 

Хотя это полностью зависит от того, что «пытаюсь сделать это с этими данными.

Смежные вопросы