Индекс элементов, jQuery или JavaScript

У меня есть таблица, которая содержит 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
})
5
задан ozsenegal 5 April 2010 в 18:02
поделиться

3 ответа

Это можно сделать с помощью .index () (на основе 0), например:

$("td").click(function() {
  var i = $(this).parent().children().index(this);
  alert(i);
});
6
ответ дан 14 December 2019 в 04:34
поделиться

Возможно, лучше использовать собственные сценарии JavaScript . rowIndex вместо jQuerys .index . У jQuery могут возникнуть проблемы с обнаружением элементов заголовка таблицы (TH).

2
ответ дан 14 December 2019 в 04:34
поделиться

Мне всегда нравилось использовать .prevAll ()

$('table').click(function(e) {
  var $targ = $(e.target);
  if ($targ.is('th')) {
    var position = $targ.prevAll().length;
    alert(position);
  }
});

Предварительный просмотр на jsbin

0
ответ дан 14 December 2019 в 04:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: