JavaScript 带子字符串的 innerHTML

JavaScript innerHTML with substring

试图将几个字符串放在括号内。为什么这不适用于子字符串?收到错误 "Invalid left-hand side in assignment".

<div id="p1"></div>

document.getElementById("p1");
var item1 = "item1";
var item2 = "item2";
var item3 = "item3"

p1.innerHTML="( )";

p1.innerHTML.substring(1,1) = item1 + item2 + item3;

结果应为:(item1item2item3)。实现这一目标的最佳方法是什么?

jsfiddle: https://jsfiddle.net/qua1ity/w457hq6n/1/

谢谢!

子字符串是这样工作的http://www.w3schools.com/jsref/jsref_substring.asp

如果你想用括号括起一些变量,这样做

p1.innerHTML = "("+item1 + item2 + item3+")";

应该是:

p1.innerHTML = p1.innerHTML.substring(0,1) + item1 + item2 + item3 + p1.innerHTML.substring(1,1);

假设 p1.innerHTML 的当前值为 ()

如果您必须保留您的代码(即您不能对其进行任何更改),您可以尝试:

p1.innerHTML = p1.innerHTML.substring(0,1) + item1 + item2 + item3 + p1.innerHTML.substring(2,3);

See Updated fiddle

否则,最简单的方法是在此处使用@Toby 的回答: