元素索引,jQuery或Javascript

时间:2010-04-05 17:36:18

标签: jquery indexing

我有一个包含3列的表。我需要绑定一个事件,只要使用jQuery单击其中一个列就会触发该事件。

但是,我需要知道点击列的索引。

即:第一列(索引0),第二列(索引1),第三列(索引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
})

3 个答案:

答案 0 :(得分:6)

您可以使用.index()(基于0)来完成此操作,如下所示:

$("td").click(function() {
  var i = $(this).parent().children().index(this);
  alert(i);
});

答案 1 :(得分:2)

最好使用原生javascript .rowIndex代替 jQuery .index。 jQuery在检测表头(TH)元素时可能会遇到一些麻烦。

答案 2 :(得分:0)

我总是喜欢使用.prevAll()

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

Preview on jsbin