Ответы:
Функция 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 и ссылки в ваших скриптах указывали на нужный объект.