У меня есть таблица, которая содержит 3 столбца. Я должен связать событие, которое исчерпывает каждый раз, когда один из тех столбцов нажат с помощью jQuery.
Однако я должен знать индекс нажатого столбца.
т.е.: Первый столбец (индекс 0), столбец Second (индекс 1), столбец Third (индекс 2), и так далее...
Как я могу сделать это?
var firstRow:
var firstRow = $("tr:first > th", "table[id*=Grid]");
Смотрите:
firstrow.click(function(e){
//var id = e.target.index;
var id = $(e).parent().children().index(this);//returns -1
})
Это можно сделать с помощью .index ()
(на основе 0), например:
$("td").click(function() {
var i = $(this).parent().children().index(this);
alert(i);
});
Возможно, лучше использовать собственные сценарии JavaScript . rowIndex
вместо
jQuerys .index
. У jQuery могут возникнуть проблемы с обнаружением элементов заголовка таблицы (TH).
Мне всегда нравилось использовать .prevAll ()
$('table').click(function(e) {
var $targ = $(e.target);
if ($targ.is('th')) {
var position = $targ.prevAll().length;
alert(position);
}
});