繁体   English   中英

在 JS 中获取动态元素的文本

[英]Getting the text of a dynamic element in JS

我正在动态生成输入字段,希望解析字段中输入的任何文本并稍后在 keydownFunc 中处理。 关键事件发生后,DOM 中没有文本可用。

这是我的代码:

 for (i = 1; i < 7; i++) { var element = document.createElement("input"); element.setAttribute("style", "width:33px;"); element.setAttribute("name", i); element.setAttribute("onkeydown", "keydownFunc(event);"); var tempID = document.getElementById(i) tempID.appendChild(element); } function keydownFunc(event) { var x = event.keyCode; if (x == 13 | x == 9) { path = event.path[1].id console.log(path); // process input } }
 <table id="table"> <tbody> <td id="1"></td> <td id="2"></td> <td id="3"></td> <td id="4"></td> <td id="5"></td> <td id="6"></td> </tbody> </table>

我不完全确定您的问题是什么,但我认为您想访问某人在文本框中输入的文本并对其进行处理。 您可以在keydownFunc访问它

event.path[0].value

这里event.path[0]将是输入元素。

顺便说一句,您不需要为输入元素命名,除非您将该名称用于其他用途。

您应该避免使用on...属性分配事件处理程序。 您应该改用addEventListener

element.addEventListener("keydown", keydownFunc);

此外path是一个非常晦涩的事件,而不是 Event 对象的标准属性。 你想访问什么? 如果是输入本身,则使用event.target (例如event.target.value获取其值),或者如果您想获取表格单元格,则使用event.target.parentNode

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM