У меня есть имя класса fawas, которое отображает некоторый контент. На самом деле мне нужно добавить некоторый контент ниже Div в java script.please, помогите мне.
<div class="fawas">
this is my name fawas khan.
</div>
мой код javascript
var dynamic = "это мой контактный номер."; var _body = document.getElementsByTagName('body') [0].innerHTML = dynamic;
я получаю только добавленный div.
В чистом javaScript получение элемента по классуName является уродливым. См. Как получить элемент по классу в JavaScript? Чтобы получить больше информации.
В принципе, вам понадобится эта функция:
function getElementsByClass(tagType, className) {
var elems = document.getElementsByTagName(tagType);
var returns = [];
for (var i in elems) {
if ((' ' + elems[i].className + ' ').indexOf(' ' + className + ' ') > -1) {
returns.push(elems[i]);
}
}
return returns;
}
Как только у вас это получилось, остальное не так уж плохо:
var dynamic = document.createElement("div");
dynamic.innerHTML = "this is my contact number.";
var elements = getElementsByClass("div", "fawas");
if (elements.length > 0) {
// just change the first, as you did in your post
elements[0].parentNode.insertBefore(dynamic, elements[0].nextSibling);
}
Я динамически создаю ваш новый div, а не просто текстовую строку.
Затем я получаю родительский элемент элемента, который вы хотите вставить после него, используйте функцию insertBefore
для того, что есть после элемента по вашему выбору.
Как показали другие, это может быть намного более чистым, используя jQuery. Я не знаю достаточно node.js
чтобы узнать, есть ли у него функции, которые будут более удобными, поэтому я дал чистое решение JS.
Вы можете сделать это
var oldcontent = document.getElementsByTagName('body') [0].innerHTML;
document.getElementsByTagName('body') [0].innerHTML = oldcontent + dynamic
Где динамический контент, который вы хотите добавить
Ваш html должен быть,
<div class="fawas">
this is my name fawas khan.
</div>
<div id="fawas-2">
</div>
Ваш сценарий должен быть,
<script type="text/javascript">
var dynamic = "this is my contact number.";
document.getElementById('fawas-2').innerHTML =dynamic;
</script>
Если вас интересует решение jQuery, вот скрипка
<div class="fawas">
this is my name fawas khan.
</div>
$(function(){
var dynamic = ('this is my contact number.');
$('.fawas').after('<div class="fawas2">'+dynamic+'</div>');
});