我尝试使用jQuery来修改HTML模板。
例如:
var d = '<div class="a"><div class="b"></div><div class="c"></div></div>';
var html = $(d).find(".b").html("BBBBB");
console.log(d); // I want to get the new html
在上面,我想要
'<div class="a"><div class="b">BBBBB</div><div class="c"></div></div>'
如何实施案例?请提出建议。
答案 0 :(得分:8)
所以这是代码:
var d = '<div class="a"><div class="b"></div><div class="c"></div></div>';
var html = $(d).find(".b").html("BBBBB").end()[0].outerHTML;
console.log(html);
请注意,关键是使用.end()
,它会弹出<div class="b">
操作创建的.find()
的上下文,然后返回$(d)
,然后允许.outerHTML
您可以在原始DOM节点上使用{{1}}获取完整的HTML。
答案 1 :(得分:0)
var d = '<div class="a"><div class="b"></div><div class="c"></div></div>';
$('.a').find(".b").html("BBBBB");
var newD = $('.a').parent().html();
console.log(newD);
您正在写入DOM元素而不是变量。您需要再次获取修改后的DOM元素。