这是我的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?
最佳答案
问题是因为您从html
中的字符串创建了一个jQuery对象,并修改了该对象,但没有在任何地方存储对该对象的引用。
调用$(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