我试图获取表值,我在StackOverflow中看到了一个脚本,问题是它不能在这里工作。我不知道为什么,我想也许我应该更换这个"事件"参数有些东西。怎么了?
clico()
功能确实有效,但myFun()
没有。
<html>
<head>
<script language="javascript" type="text/javascript">
function clico(){
alert("clico!!");
}
function myFun(e){
alert(e.target.innerText); //current cell
alert(e.target.parentNode.innerText); //Current row.
}
</script>
</head>
<body>
<table id="tableID" border="5" onclick="myFun(event)">
<tr>
<td>row 1, cell 1</td>
<td>row 1, cell 2</td>
</tr>
<tr>
<td>row 2, cell 1</td>
<td>row 2, cell 2</td>
</tr>
</table>
</body>
</html>
编辑:那个&#34;隐形的特殊字符&#34;事情解决了脚本问题,但现在我得到了一个&#34; undefined&#34;打印而不是表值...只有firefox。 Internet Explorer和chrome完美运行!这是firefox的一个问题,还是我在这里的设置中遗漏了什么?
答案 0 :(得分:1)
我不知道你是怎么得到这个的,但是在最后}
之后会有一些不可见的特殊字符导致错误。您只能使用十六进制编辑器
在此屏幕截图中,特殊字符在右侧部分显示为点,如新行,但正如您所看到的,左侧的值不同。三个红色的是虫子。
要摆脱它,最好对你的编辑器进行选择,包括几行/单词,然后将其删除并手动重写。
答案 1 :(得分:0)
使用此:
window.onload = function() {
var rows = document.getElementById('tableID').rows;
var handler = function(e) {
alert(e.target.innerHTML); //Alerts the clicked cell's value
}
for(var i = 0; i < rows.length; i++) {
rows[i].onclick = handler;
}
}