我有一个包含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
})
答案 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);
}
});