Как заменить innerHTML div с помощью jQuery?
Как я мог добиться следующего:
document.all.regTitle.innerHTML = 'Hello World';
используя jQuery где regTitle
Это мой div ID?
11 ответов:
если вместо этого у вас есть объект 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>
просто, чтобы добавить некоторые показатели выводы.
несколько лет назад у меня был проект, где у нас были проблемы, пытаясь установить большой 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 и ссылки в ваших скриптах, указывающих на правильный объект.