在Jquery中选择和更改附加的HTML输入标记
Selecting and changing an appended HTML input tag in Jquery
我有一个问题,我无法通过研究/谷歌解决。我成功地将以下输入框添加到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();
放到代码中时如果我能看到test是
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中可以不选择附加标签吗?有人能指出我遗漏了什么吗?
问题肯定是选择,因为我在改变值的部分之后尝试了var test = $("#targetedDiv").html();
,并且在变量测试上没有差异,就像在第二个循环之前完成时一样,因此$('#' + id).val(y);
(或答案中的其他建议)没有效果。
Musa在评论中回答了这个问题。"如果id包含特殊字符,则必须转义它们。"我的(真实的)id包含一个空格。
相关文章:
- 如何编写HTML输入的JS内联
- 如何在HTML输入字段中添加不可删除的后缀
- HTML输入中不可更改的前导字符
- 如何使用jQueryAjax使用动态html输入texbox提交表单
- 清理HTML输入值
- 如何使用jQuery动态创建HTML输入
- 通过javascript以编程方式将文件插入HTML输入
- jQuery选择器不识别任何动态创建的HTML输入函数
- 将JavaScript变量传递到HTML输入框和(在PHP文件中使用)
- 如何调用两个函数是一种html输入类型
- HTML输入框未触发事件
- 移动HTML输入文本框在提交时隐藏软键盘
- 按键事件上的简单HTML输入不起作用
- 选择同一文件时未触发HTML输入文件选择事件
- 如何使文本、数字和日期html输入字段以一致的方式支持Ctrl+Z(撤消)
- 更改 html 输入字段中的占位符属性
- 如何在不使用任何 html 输入/搜索元素的情况下读取本地客户端文本文件
- 持久性 HTML 输入占位符
- 将 html 输入转换为正确的编码
- 如何隐藏和显示 html 输入文本和段落