Відповіді:
Функція 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) , який потрібно застосувати код. #
Перш , ніж 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 / текст на різні елементи 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 та посилання у ваших сценаріях вказували на потрібний об’єкт.