Как заменить innerHTML div, используя jQuery? - PullRequest
960 голосов
/ 21 августа 2009

Как я мог добиться следующего:

document.all.regTitle.innerHTML = 'Hello World';

Использование jQuery, где regTitle - мой идентификатор div?

Ответы [ 12 ]

3 голосов
/ 21 января 2018

Просто чтобы добавить представление о производительности.

Несколько лет назад у меня был проект, в котором у нас были проблемы при попытке установить большой HTML / текст для различных элементов HTML.

Оказалось, что "воссоздание" элемента и внедрение его в DOM было намного быстрее, чем любой из предложенных способов обновления содержимого DOM.

Так что-то вроде:

var text = "very big content";
$("#regTitle").remove();
$("<div id='regTitle'>" + text + "</div>").appendTo("body");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

Должен дать вам лучшую производительность. Я недавно не пытался измерить это (браузеры должны быть умными в наши дни), но если вы ищете производительность, это может помочь.

Недостатком является то, что у вас будет больше работы, чтобы DOM и ссылки в ваших скриптах указывали на нужный объект.

2 голосов
/ 31 января 2019

jQuery имеет несколько функций, которые работают с текстом, если вы используете text() one, он сделает всю работу за вас:

$("#regTitle").text("Hello World");

Также вы можете использовать html() вместо этого, если у вас есть html-тег ...

...