5
我有一个包含3列的表。我需要绑定一个事件,当使用jQuery单击其中一列时触发该事件。元素索引,jQuery或Javascript
但是,我需要知道点击列的索引。
即:第一列(索引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
})
什么的'firstrow'喜欢? '
第一行,取第一行的所有“
回答
你可以做到这一点使用
.index()
(这是基于0的),像这样:来源
2010-04-05 17:37:25
我不这么认为,导致即时通讯尝试使用函数(e){}进行此操作,即: e.target.index – ozsenegal 2010-04-05 17:39:12
@ozsenegal - 它的工作原理,请尝试: )http://jsfiddle.net/F5ALE/ – 2010-04-05 17:40:12
不,这并不完全。是awalys返回“-1”。 – ozsenegal 2010-04-05 17:43:31
这可能是使用原生javascripts更好的主意
.rowIndex
而不是 jQuerys.index
。 jQuery在检测表头(TH)元素时可能会遇到一些麻烦。来源
2010-04-05 17:44:22 jAndy
你将如何使用'.rowIndex'来获取列的索引? – 2010-04-05 17:45:37
应该是'this.cellIndex'。但是:是的,比使jQuery搜索节点列表更简单,更高效。 – bobince 2010-04-05 17:47:24
是的,在你的点击事件处理程序代码中它是this.rowIndex()/ this.cellIndex() – jAndy 2010-04-05 17:49:47
我一直使用
.prevAll()
Preview on jsbin
来源
2010-04-05 17:59:44 gnarf
相关问题