我将侦听器添加到表的单元格,以便单击特定的单元格时可以获得单元格索引。但是我无法获取chrome中行索引的值。在IE10和Firefox中可以正常工作。代码是:
function AttachEvents() {
var cls = document.getElementById("TableContents").getElementsByTagName("td");
for ( var i = 0; i < cls.length; i++ ) {
if ( cls[i].addEventListener ) {
cls[i].addEventListener("click", alertRowCell, false);
} else if ( cls[i].attachEvent ) {
cls[i].attachEvent("onclick", alertRowCell);
}
}
}
function alertRowCell(e) {
var cell = e.target || window.event.srcElement;
//alert( cell.cellIndex + ' : ' + cell.parentNode.rowIndex );
if (cell.cellIndex == 1) {
alert(" The row index is " + cell.parentNode.rowIndex);
highlight();
}
}
如何在Chrome中解决此问题?
最佳答案
您可以使用this
轻松引用单击的元素。
在您的情况下:
function alertRowCell(evt) {
var tr = this.parentNode;
// do something with tr...
}
我说这是因为如果您的表结构是...
<tr>
<td><span>Hello</span></td>
</tr>
...那么
e.target
是span
,其parentNode
是td
而不是tr
。请尝试以下示例:http://jsfiddle.net/naJBq/
关于javascript - parentNode.rowIndex在Chrome中不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19312461/