我正在尝试将用 HTML 编写的表格转换为 Javascript,因为我希望动态生成表格(行数)。我遇到的主要问题是表中的各个单元格是可单击的并打开另一个 html 页面。不幸的是,html“onclick”参数不适用于document.write
语句 以下是 HTML 中表格单元格的示例:
<td id="r1c1" align="center" onclick="getTicket(1,'plan',1);"><script language="JavaScript">document.write(getDate(1,"plan", "r1c1")); </script></td>
这一行中的函数是预定义的并且可以工作,所以我不会发布这些函数,但想法是该函数获取票证(..)应该打开另一个html页面。
我的问题是如何让 onclick 在 JavaScript 中工作。我可以使用 document.write 命令在 Javascript 中创建单元格,但并不真正知道如何使这些单元格可单击来运行该函数获取票证(..).
您的 Javascript 编程风格是ancient, 至少可以说。document.write
主要是在几乎没有生成动态内容的通用方法时开发的功能。
因此,您应该使用以下方法动态生成元素document.createElement
,将您的内容附加到此处,然后使用现代方法将元素附加到 DOM,例如appendChild
.
然后,您可以使用比传统方式更现代的方式附加事件侦听器,例如onclick
, like addEventListener
。这是一个片段:
var td = document.createElement("td");
td.innerHTML = getDate(1, "plan", "r1c1");
td.addEventListener("click", function() {
getTicket(1, 'plan', 1);
});
row.appendChild(td);
我以为row
是您正在生成的表的行。
不幸的是,IEattachEvent,所以它就变成了:
td.attachEvent("onclick", function() { ...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)