Подтвердить что ты не робот

Javascript innerHTML добавление вместо замены

быстрый вопрос, я знаю, что мы можем изменить содержимое

<div id="whatEverId">hello one<div> с помощью:

document.getElementById("whatEverId").innerHTML="hello two";

теперь, есть ли способ, чтобы я мог добавить материал в div вместо замены его??? поэтому я могу получить

<div id="whatEverId">hello one hello two<div>

(используя что-то подобное, конечно)

4b9b3361

Ответ 1

<div id="whatever">hello one</div>
<script>
document.getElementById("whatever").innerHTML += " hello two";
</script>

Ответ 2

document.getElementById("whatEverId").innerHTML =  document.getElementById("whatEverId").innerHTML +  "hello two" + document.getElementById("whatEverId").innerHTM ;

Ответ 3

Что предлагает jcomeau_ictx - это неэффективный способ редактирования innerHTML. Проверка Ben cherry PPT http://www.bcherry.net/talks/js-better-faster

Правильный способ будет отделить элемент и внести в него изменения, а затем добавить его обратно в родительский node. Используйте https://gist.github.com/cowboy/938767 Родной javascript из этого отсоединить элемент.

Ответ 4

Если вы добавляете, вы можете просто изменить свой = на + =

document.getElementById( "whatEverId" ). innerHTML + = 'hello two';

Если префикс

document.getElementById( "whatEverId" ). innerHTML = 'hello two' + document.getElementById( "whatEverId" ). innerHTML;

Хотя я настоятельно рекомендую использовать jQuery или MooTools javascript-библиотеки/фреймворки, чтобы делать такие вещи. Если вы добавляете теги не только текстовые узлы, тогда вы должны использовать элемент создания DOM или одну из вышеупомянутых библиотек/фреймворков.

Ответ 5

Вы можете сделать это, добавив строку div, как это.

document.getElementById('div_id'). innerHTML + = 'Hello Two';

Ответ 6

Обратите внимание, что использование element.innerHTML += 'content' приведет к пустому input и textarea до их значений по умолчанию, пустого состояния, флажков снятия отметки и т.д., Поскольку весь innerHTML будет переосмыслен браузером.

Если вам нужно сохранить состояние, вам нужно создать новый элемент (например, <span>) и добавить его к текущему элементу, как показано в:

let newElement = 'span'
newElement.innerHTML = 'new text'
document.getElementById('oldElement').appendChild(newElement)