Попытка добавить контент внутри DIV - PullRequest
1 голос
/ 21 октября 2019

Это мой jquery, где я пытаюсь добавить новые данные внутри класса abc div


var html = '<div class="wrapper"><div class="abc"></div></div>';

if (someData == "YES"){

  var newHTML = '<div>hello</div>';
  $(html).find(".abc").html(newHTML);

}

$(body).html(html);


Как получить обновленный HTML?

Ответы [ 2 ]

2 голосов
/ 21 октября 2019

Проблема заключается в том, что вы создаете объект jQuery из строки в html и изменяете этот объект, но нигде не сохраняете ссылку на него.

Когда вы вызываете $(body).html()вы добавляете исходную строку , а не объект jQuery, который вы изменили. Таким образом, вам нужно изменить свою логику так:

var html = '<div class="wrapper"><div class="abc"></div></div>';
var $html = $(html); // create the jQuery object and store a reference to it

// alternatively the above can be made in to one line:
// var $html = $('<div class="wrapper"><div class="abc"></div></div>');        

if (someData == "YES") {
  var newHTML = '<div>hello</div>';
  $html.find(".abc").html(newHTML); // amend the jQuery object
}

$(body).html($html); // add the updated HTML to the DOM
1 голос
/ 21 октября 2019

Вы ищете это?

var someData = 'YES';

var html = '<div class="wrapper"><div class="abc"></div></div>';

$('#testDiv').append($(html));


if (someData == "YES"){

  var newHTML = '<div>hello</div>';
  $('#testDiv').find(".abc").html(newHTML);

}
console.log($('#testDiv').html());
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<body>

<div id= "testDiv"></div>

</body>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...