Как заменить innerHTML div с помощью jQuery?


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

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

используя jQuery где regTitle Это мой div ID?

11 881

11 ответов:

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

The html () функция может принимать строки HTML, и будет эффективно изменять .innerHTML собственность.

$('#regTitle').html('Hello World');
на text () функция изменит (текстовое) значение указанного элемента, но сохранит html структура.
$('#regTitle').text('Hello world'); 

если вместо этого у вас есть объект jquery, который вы хотите отобразить вместо существующего содержимого. Затем просто сбросьте содержимое и добавьте новое.

var itemtoReplaceContentOf = $('#regTitle');
itemtoReplaceContentOf.html('');
newcontent.appendTo(itemtoReplaceContentOf);

или:

$('#regTitle').empty().append(newcontent);

вот ваш ответ:

//This is the setter of the innerHTML property in jQuery
$('#regTitle').html('Hello World');

//This is the getter of the innerHTML property in jQuery
var helloWorld = $('#regTitle').html();

ответ:

$("#regTitle").html('Hello World');

объяснение:

$ эквивалентно jQuery. Оба представляют один и тот же объект в библиотеке jQuery. Элемент "#regTitle" внутри скобки называется селектор который используется библиотекой jQuery для определения того, к какому элементу(элементам) html DOM (объектной модели документа) вы хотите применить код. Элемент # до regTitle говорит jQuery, что regTitle - это идентификатор элемента внутри дома.

оттуда, точечная нотация используется для вызова html функция, которая заменяет внутренний html любым параметром, который вы помещаете между скобками, что в данном случае является 'Hello World'.

вы можете использовать либо html, либо текстовую функцию в jquery для ее достижения

$("#regTitle").html("hello world");

или

$("#regTitle").text("hello world");

jQuery .html() может использоваться для установки и получения содержимого соответствующих непустых элементов (innerHTML).

var contents = $(element).html();
$(element).html("insert content into element");

уже есть ответы, которые дают, как изменить внутренний HTML элемента.

но я бы предложил, Вы должны использовать некоторую анимацию, такую как Fade Out/ Fade In, чтобы изменить HTML, который дает хороший эффект измененного HTML, а мгновенно меняет внутренний HTML.

используйте анимацию для изменения внутреннего HTML

$('#regTitle').fadeOut(500, function() {
    $(this).html('Hello World!').fadeIn(500);
});

Если у вас есть много функций, которые нуждаются в этом, то вы можете вызвать общую функцию, которая изменяет внутренний Html.

function changeInnerHtml(elementPath, newText){
    $(elementPath).fadeOut(500, function() {
        $(this).html(newText).fadeIn(500);
    });
}
<!DOCTYPE html>
<html>
  <head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
    <script>
      $( document ).ready(function() {
        $('.msg').html('hello world');
      });
    </script>

  </head>
  <body>
    <div class="msg"></div>
  </body>
</html>
$("#regTitle")[0].innerHTML = 'Hello World';

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

несколько лет назад у меня был проект, где у нас были проблемы, пытаясь установить большой 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 и ссылки в ваших скриптах, указывающих на правильный объект.