Ответы:
Функция html () может принимать строки HTML и эффективно изменять .innerHTMLсвойство.
$('#regTitle').html('Hello World');
Однако функция text () изменит значение (text) указанного элемента, но сохранит htmlструктуру.
$('#regTitle').text('Hello world');
text()отличается , как: Unlike the .html() method, .text() can be used in both XML and HTML documents.. Кроме того, согласно stackoverflow.com/questions/1910794/... , jQuery.html() treats the string as HTML, jQuery.text() treats the content as text.
Если вместо этого у вас есть объект jquery, который вы хотите визуализировать вместо существующего контента: просто сбросьте контент и добавьте новый.
var itemtoReplaceContentOf = $('#regTitle');
itemtoReplaceContentOf.html('');
newcontent.appendTo(itemtoReplaceContentOf);
Или:
$('#regTitle').empty().append(newcontent);
itemtoReplaceContentOf.empty();
newcontentли объект jQuery? Это не ясно
htmlStringили Elementили Textили Arrayили jQueryсогласно api.jquery.com/append
Ответ:
$("#regTitle").html('Hello World');
Объяснение:
$эквивалентно jQuery. Оба представляют один и тот же объект в библиотеке jQuery. "#regTitle"Внутри круглых скобок называется селектор , который используется библиотекой JQuery , чтобы определить , какой элемент (ы) в HTML DOM (Document Object Model) , который требуется применить код. The #before regTitleсообщает jQuery, что regTitleэто идентификатор элемента внутри DOM.
Оттуда точечная нотация используется для вызова функции html, которая заменяет внутренний html любым параметром, который вы помещаете между скобками, что в данном случае является 'Hello World'.
Уже есть ответы, которые дают, как изменить Внутренний HTML элемента.
Но я бы посоветовал вам использовать анимацию, такую как Fade Out / Fade In, чтобы изменить 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);
});
}
Вы можете использовать HTML или текстовую функцию в JQuery для достижения этого
$("#regTitle").html("hello world");
ИЛИ
$("#regTitle").text("hello world");
jQuery .html()можно использовать для установки и получения содержимого совпадающих непустых элементов ( innerHTML).
var contents = $(element).html();
$(element).html("insert content into element");
пример
$( document ).ready(function() {
$('.msg').html('hello world');
});
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
</head>
<body>
<div class="msg"></div>
</body>
</html>
$("#regTitle")[0].innerHTML = 'Hello World';
Просто чтобы добавить представление о производительности.
Несколько лет назад у меня был проект, в котором у нас были проблемы при попытке установить большой HTML / Text для различных элементов 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 и ссылки в ваших скриптах указывали на нужный объект.