Добавьте div ниже определенного div, используя Javascript

0

У меня есть имя класса 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.

Теги:

4 ответа

2

В чистом 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.

  • 1
    Отличный ответ, в чистом JS, а затем заметка о том, что jQuery является опцией.
0

Вы можете сделать это

var oldcontent = document.getElementsByTagName('body') [0].innerHTML;

document.getElementsByTagName('body') [0].innerHTML = oldcontent + dynamic

Где динамический контент, который вы хотите добавить

0

Ваш 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>
0

Если вас интересует решение 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>');
});

Ещё вопросы

Сообщество Overcoder
Наверх
Меню