用户点击表格的一行,我想获取(在 Javascript 中)比方说该行的第 3 列的 innerhtml。
类似的东西:
document.getElementById("tblBlah").rows[i].columns[j].innerHTML
似乎无法实现,我在这里或网上找不到任何东西。
任何解决方案将不胜感激(无 jQuery)
最佳答案
document.getElementById("tblBlah").rows[i].columns[j].innerHTML;
应该是:
document.getElementById("tblBlah").rows[i].cells[j].innerHTML;
但我得到的明显印象是您需要的行/单元格是用户单击的行/单元格。如果是这样,实现此目的的最简单方法是将事件附加到表格中的单元格:
function alertInnerHTML(e)
{
e = e || window.event;//IE
alert(this.innerHTML);
}
var theTbl = document.getElementById('tblBlah');
for(var i=0;i<theTbl.length;i++)
{
for(var j=0;j<theTbl.rows[i].cells.length;j++)
{
theTbl.rows[i].cells[j].onclick = alertInnerHTML;
}
}
这使得所有表格单元格都可以点击,并提醒它是 innerHTML。事件对象将传递给 alertInnerHTML
函数,其中 this
对象将是对被单击的单元格的引用。事件对象为您提供了大量巧妙的技巧,让您了解点击事件的行为方式,例如,如果单元格中有一个链接被点击,但我建议检查 MDN 和 MSDN(对于 window.event 对象)
关于Javascript 从 html 表的特定行获取列的文本值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10550410/