在innerHTML中包含变量值以创建输入id's和占位符
include variable value in innerHTML to create running index for input id's and placeholders
document.getElementById('addplace').addEventListener('click', addplace);
j=1;
function addplace() {
var node = document.createElement("li"); // Create a <li> node
node.innerHTML = "<input id=''place'+j+' placeholder='+j+' onFocus='geolocate()' type='text' />"
document.getElementById("waypoints").appendChild(node);
j++;
}
<ul id="waypoints"></ul>
<input id="addplace" type="submit"/>
我想要一个运行索引1、2、3等,而不是文本"+j+"作为占位符。我最终希望它像"Waypoint 1"、"Waypoint 2"answers"Waypoint 3"一样作为占位符,同样,对于id,我希望它们是位置1、位置2、位置3等。谢谢你的帮助。我看到其他相关的问题建议使用+符号进行连接,但它似乎不适用于此应用程序。
您只是使用了错误的引号:
node.innerHTML = "<input id='place" + j +"' placeholder='" + j + "' onFocus='geolocate()' type='text' />";
这将完美地连接字符串,并相应地插入您的数字。
编辑
只是为了将来,es6能够创建"模板字符串",这在每个浏览器中都是不可用的:
node.innerHTML = `<input id="place ${j}" placeholder="${j}" onFocus="geolocate()" type="text" />`;
我认为您需要put"s来结束您的字符串:
node.innerHTML = "<input id='place" +j+ "' placeholder='" +j+ "' onFocus='geolocate()' type='text' />"
这不是问题的答案,但您可以通过将addplace
回调函数作为参数放入事件处理程序中来稍微清理代码,如下所示:
document.getElementById('addplace').addEventListener('click', addplace)
相关文章:
- 使用javascript的Asp.net内容占位符
- Internet Explorer缺少占位符支持,特别是密码字段
- 如何隐藏按钮单击事件上的占位符
- 需要URL模板占位符查找和替换功能的输入
- 初始化ng模型时,Angular ui选择占位符不起作用
- 如何在ie7或更高版本中设置密码字段的占位符
- 在不使用javascript的情况下,可以在表单字段中设置文本占位符(以提示最终用户插入特定格式)
- Select2-使用自定义模板时不显示占位符
- 替换字符串中的占位符值
- 为什么我应该使用HTML5(上下文:占位符)
- 在contentEditable元素中居中占位符插入符号
- 从气球弹出窗口中删除占位符
- 选择“选项”时更改输入的占位符
- 错误:ReCAPTCHA占位符元素必须为空
- 如何更改文本区域的颜色's文本,具体取决于它是否为占位符
- 在innerHTML中包含变量值以创建输入id's和占位符
- 如何设置元素的占位符文本 我无法编辑 HTML 并且 ID 正在更改
- 获取占位符容器拖动的父id&滴
- 使用jQuery更新占位符id
- 通过Javascript在相同的输入ID上使用不同的占位符