Javascript 在Jquery中选择和更改附加的HTML输入标记
我有一个问题无法通过研究/谷歌解决。我成功地将以下输入框附加到HTML/JQuery项目中。它们都按预期显示在网页上Javascript 在Jquery中选择和更改附加的HTML输入标记,javascript,jquery,html,jquery-selectors,append,Javascript,Jquery,Html,Jquery Selectors,Append,我有一个问题无法通过研究/谷歌解决。我成功地将以下输入框附加到HTML/JQuery项目中。它们都按预期显示在网页上 for (i = 0; i < max; i++) { var id = myUniqueIDs[i]; $("#targetedDiv").append(myUniqueIDs[i] + ': <input id = "' + id + '" type = "text" class = "findOutputs" readonly/>'); } 所以
for (i = 0; i < max; i++) {
var id = myUniqueIDs[i];
$("#targetedDiv").append(myUniqueIDs[i] + ': <input id = "' + id + '" type = "text" class = "findOutputs" readonly/>');
}
所以我真的不知道问题是什么。$('#'+id.val(y)是否存在非法行为代码>
不能在Jquery中选择附加标记吗?有人能指出我遗漏了什么吗
问题肯定出在选择上,因为我尝试了var test=$(“#targetedDiv”).html()代码>在我更改值的部分之后,变量测试与在第二个循环之前没有差异,因此$('#'+id).val(y)代码>(或回答中的其他建议)无效。穆萨在评论中回答了问题。
“如果ID包含特殊字符,则必须对其进行转义。”
我的(真实)ID包含一个空格。像你这样使用ID是完全合法的-你能在小提琴中重新设置这个行为吗?一旦元素在DOM中,你可以像静态创建的元素一样选择它。我可以尝试在小提琴中重新创建它,但我在几个小时内无法做到这一点。我(不可否认)也不是最好的程序员(我编程不到一年),而且我以前从未使用过小提琴,所以我不知道这会有多好;)。我很感谢那些读过这个问题的人。我猜函数getY()
有问题。我用一个值而不是函数来尝试代码,结果它成功了。请参见此处:如果ID包含特殊字符,则必须对其进行转义。
for (i = 0; i < max; i++) {
var y = getY(); // the returned variable is confirmed correct via debugging
var id = myUniqueIDs[i]; // again, confirmed correct
$('#' + id).val(y); // does not work
}
uniqueID1: <input id="uniqueID1" class="findOutputs" readonly="" type="text">
uniqueID2: <input id="uniqueID2" class="findOutputs" readonly="" type="text">
uniqueID3: <input id="uniqueID3" class="findOutputs" readonly="" type="text">