2015-04-15 4 views
-1

пытается поместить несколько строк в круглые скобки. Почему это не работает с подстрокой? Получение ошибки «Недопустимая левая сторона в назначении».JavaScript innerHTML с подстрокой

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

Спасибо!

+0

Вы должны всегда * присвоить * to 'p1.innerHTML', чтобы обновить его, вы не делаете этого в последней строке, поэтому предположительно' p1.innerHTML = p1.innerHTML.substring (0,1) + item1 ... ' –

ответ

0

Если вы должны сохранить свой код (т. Вы не можете ничего об этом) изменить, Вы можете попробовать:

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

See Updated fiddle

В противном случае, проще всего было бы использовать @ ответ Тоби здесь: https://stackoverflow.com/a/29655908/600486

0

Оно должно быть:

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

Это предполагает текущее значение p1.innerHTML является ()

+0

вы попробовали этот ответ? ? – ochi

+0

Отредактировано для исправления опечатки и немного неправильного, извините! –