我有这个html表:
tabela
|A|B|C|D|
_________
001|M|N|O|P|
002|R|S|T|U|
使用这个脚本,我可以获得第1行,e。 onclick N得到值001
var table = document.getElementById("tabela");
var rows = table.rows;
for (var i = 1; i < rows.length; i++) {
rows[i].onclick = (function() {
var rowid = (this.cells[0].innerHTML);
window.location.href = "next.php?rowidphp="+ rowid;
});
}
问题是我需要获得第1列的值,e。 onclick N shuld得到值B
我正在尝试一切,但我可以达到这一点.....
答案 0 :(得分:3)
这里是小提琴:http://jsfiddle.net/t7G6K/
var table = document.getElementById("tabela");
var rows = table.rows;
for (var i = 1; i < rows.length; i++) {
rows[i].onclick = (function (e) {
var rowid = (this.cells[0].innerHTML);
var j = 0;
var td = e.target;
while( (td = td.previousElementSibling) != null )
j++;
alert(rows[0].cells[j].innerHTML);
});
}
答案 1 :(得分:0)
试试这个:
table = document.getElementById("tablea");
var rows = table.rows;
for (var i = 1; i < rows.length; i++) {
rows[i].cells[2].onclick = function (e) {
rowid = e.target.previousElementSibling.previousElementSibling.textContent;
alert(rowid);
};
}
以下是 Demo
答案 2 :(得分:0)
jsFiddle http://jsfiddle.net/2dAkj/9/#
好的jQuery我会这样做。
$(function () {
$('table').on('click', function (e) {
var x = $(e.target);
var index = x.parents('tr').find('td,th').index(x);
alert($(x.parents('table').find('tr').first().find('td,th')[index]).text());
});
});