javascript - 在 Jquery 中选择和更改 append 的 HTML 输入标记

标签 javascript jquery html jquery-selectors append

我有一个无法通过研究/Google 解决的问题。我成功地将以下输入框 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/>');
}

稍后在我的代码中,经过一些用户交互后,我尝试在输入框中写入一些信息。用户无法写入它们(它们是只读的)。我知道我可以通过 Jquery 写入只读输入框,因为它是在我的项目中的其他地方完成的。然而它就是行不通。

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
}

当我将 var test = $("#targetedDiv").html(); 放入我的代码中时,我可以看到测试是

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">

所以老实说我不知道​​问题是什么。 $('#' + id).val(y); 是否存在非法内容?

在 Jquery 中不能选择 append 标签吗?有人可以指出我在这里缺少什么吗?

问题肯定与选择有关,因为我在更改值的部分之后尝试了 var test = $("#targetedDiv").html(); 并且在变量测试与第二个循环之前完成时一样,因此 $('#' + id).val(y); (或答案中的其他建议)没有效果。

最佳答案

穆萨在评论中回答了问题。 “如果 id 包含特殊字符,则必须对其进行转义。” 我的(真实)ID 包含空格。

关于javascript - 在 Jquery 中选择和更改 append 的 HTML 输入标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25317207/

相关文章:

javascript - 将类作为参数传递给 Nightmare 评估

javascript - 下拉点击按钮无法更改高度

jquery - 如果页面高度动态变化,带 id 的链接不起作用

javascript - 由于未知原因,控制台无法识别 clientX

javascript - Node MySQL查询语法错误

javascript - 在chrome中选择渲染图片元素图片

jquery - Flask如何应用一个帖子的第一段不同的类属性

javascript - 使用javascript将文本从一个div复制到另一个div

javascript - 先加载 Adsense 广告,然后加载页面?

javascript - 如何确定弹出窗口是否成功加载?