我正在尝试从javascript中的函数更改td的“onclick”的值。 我已经尝试了我能想到的一切,我在互联网上搜索过但没有任何效果,从下面的代码中解释,但问题是它正在执行我希望onclick的值而不是更改它
<div align="center" id="bodyC">
<table width="800" height="410">
<td class="bodyCC">
<table id="MYtable" class="MYtable" border="0" width="100%" height="100%" cellpadding="50">
<td id="one" class="one" onclick=""></td>
<td id="two" class="two" onclick=""></td>
<td id="three" class="three" onclick=""></td>
</table>
</td>
</table>
</div>
function download()
{
<!-- this function is called when the "Download" button on the website's menu is pressed, and is soppused to change the "body" table so when the sells are clicked an alert will pop.-->
document.getElementById('one').onclick=alert("A..!");
document.getElementById('two').onclick=alert("B..!");
document.getElementById('three').onclick=alert("C..!");
}
任何帮助?
P.S。没有错误。
答案 0 :(得分:7)
写作时
document.getElementById('one').onclick=alert("A..!");
您将onclick
处理程序设置为alert("A..!")
的返回值:undefined
。document.getElementById('one').onclick = function() {alert("A..!");};
。所以这不起作用。
您需要的是功能定义:
function myfunc() {
alert("A..!");
}
document.getElementById('one').onclick = myfunc;
或者,您可以:
<script>
document.getElementById('one').onclick = function() {alert("A..!");};
document.getElementById('two').onclick = function() {alert("B..!");};
document.getElementById('three').onclick = function() {alert("C..!");};
</script>
但编写匿名函数定义没什么问题,因为它将代码保存在使用它的地方,因此通常更清晰。
你还需要在脚本元素中使用javascript:
<div align="center" id="bodyC">
<table width="800" height="100"><tr>
<td class="bodyCC">
<table id="MYtable" class="MYtable" border="0" width="100%" cellpadding="50"><tr>
<td id="one" class="one" onclick="">ONE</td>
<td id="two" class="two" onclick="">TWO</td>
<td id="three" class="three" onclick="">THREE</td></tr>
</table>
</td></tr>
</table>
<span onclick="download();">CLICK HERE</span>
</div>
<script>
// this function is called when the "Download" button on the website's menu
// is pressed, and is soppused to change the "body" table so when the sells
// are clicked an alert will pop.
function download() {
document.getElementById('one').onclick=function(){alert("A..!");};
document.getElementById('two').onclick=function(){alert("B..!");};
document.getElementById('three').onclick=function(){alert("C..!");};
}
</script>
以下是您网页的完整,经过修复和测试的完整版本:
{{1}}
(我还修复了HTML注释和缺失的tr)
您可以点击测试 here :点击&#34;点击此处&#34;激活点击其他三个部分(一,二,三)的能力。