嘿我试图用javascript连接字符串但是我有错误。这是我的代码:
function popForm(){
var v = document.getElementById('a1').innerHTML;
document.getElementById("a1_i").innerHTML =
"<input type='text' name='a1_i' value="+v+" />";
}
元素a1_i是我使用上面显示的输入标记填充的范围。
再往下我编辑ID为a1的元素:
document.getElementById("a1").innerHTML="blah bloop";
然而,当我试图查看结果时,我所能看到的只是啰嗦,而不是臃肿。
有什么建议吗?
答案 0 :(得分:3)
如果您查看生成的HTML,您会注意到以下内容:
<input type='text' name='a1_i' value=blah bloop />
正如语法高亮显示器所暗示的那样,value
属性的值为blah
,而bloop是另一个属性。你只需要添加引号:
function popForm(){
var v = document.getElementById('a1').innerHTML;
document.getElementById("a1_i").innerHTML="<input type='text' name='a1_i' value='" + v + "' />";
}
但如果v
包含符号'
,那么您再次陷入困境。所以你要么用HTML entities替换它们,要么遵循jbabey的建议。
答案 1 :(得分:1)
我同意Jbabey,它将在未来为您节省额外的text / html字符串编码(容易出错)。 JavaScript连接非常简单
*variable1 + "Text, note quotes around" + variablearray[1] + "etc...";*
使用方法:document.createElement document.createTextNode appendChild
https://developer.mozilla.org/en-US/docs/DOM/document.createElement https://developer.mozilla.org/en-US/docs/DOM/Node.appendChild