JavaScript生成动态输入字段并从中获取getElementById

JavaScript生成动态输入字段并从中获取getElementById,javascript,html,Javascript,Html,我使用javascript在html表单中添加一个新的输入字段 //n is from 1 to 20 $('#formid').find('#transtext').before('ProductName</a><b><u><a id="ProductName'+n+'">N/A</a></u></b>'); 你的代码似乎是正确的,它不工作吗?我预见到的一个问题是订单的执行。在加载过程中,这些代码是在页面加载

我使用javascript在html表单中添加一个新的输入字段

//n is from 1 to 20
$('#formid').find('#transtext').before('ProductName</a><b><u><a id="ProductName'+n+'">N/A</a></u></b>');

你的代码似乎是正确的,它不工作吗?我预见到的一个问题是订单的执行。在加载过程中,这些代码是在页面加载上还是在线

$=>jquery。那么,jquery库是否已加载并执行

尝试将断点放在$('#formid')之前。。。在document.getElementById('ProductName2')之前;
调试器


如果您想在启动时获取ElementById,可以将其放在$.ready中

到底是什么问题?您尝试过的代码有什么问题吗?您是否在问如何在没有jquery的情况下编写它?如果不是,为什么要将jquery与es5混合使用?您可以同样轻松地编写$(“#ProductName2”)。。。否则,您可能需要查看querySelector和querySelectorAllA两个注释:
$('formid')。查找('transtext')
可以重写为
$('transtext')
,因为ID对于文档是唯一的。注意,代码试图插入无效的HTML,jQuery不允许这样做;基本上,字符串将更改为
'ProductnameN/A'
。此外,在将元素添加到DOM之后(即调用
before()
)才能获取元素。
var productname2 = document.getElementById('ProductName2');
var productname3 = document.getElementById('ProductName3');