我期待能够将一段html传递给for循环,但是我想使用html作为选择器并在其中查找类和元素,并替换html。
HTML
<div class="item sub-item">
<div class="row">
<p class="blog-single-main-content"></p>
</div>
</div>
JQuery的
//This menthod grabs the entire html including the parent I am selecting
var getHtml = $('#blog .sub-item').wrap('<p/>').parent().html();
//Amount of Objects being passed back from my AJAX query
var amount = Object.keys(results).length;
setTimeout(function(){
for(i = 0; i < amount; i++){
//Take all of the html I have selected, find the class inside it and replace the html
$(getHtml).find(".blog-single-main-content").html("New
html");
//Take the new amended html and append it to my main div
$('#main-blog-list').append(getHtml);
}
},1000)
由于我想在一个div中添加从AJAX返回的每个对象键,我不想写一个追加函数并传递大量的html。相反,我想首先选择所有的html并根据我的循环更改元素,并每次都附加新数据。
我想取.sub-item
div并复制它,以便我可以将它附加到我的主div上。我在for循环中运行它,我想将整个HTML代码传递给jquery,找到.blog-single-main-content
元素并替换它内部的html并将整个html追加到父div中,多次。
我实现这一目标的简单方法就是说
for(i = 0; i < amount; i++){
$('body').append("<div class='item sub-item'><div class='row'><p
class='blog-single-main-content'>"+'This is loop' + i +"</p></div></div>");
}
但是我想传递大量的html,所以这种方式不太实用。
实现这一目标的最佳方法是什么?
输出
$(getHtml).find(".blog-single-main-content").html('New html');
$('#main-blog-list').append(getHtml);
当前将原始html附加到.blog-single-main-content
元素中,而不是在添加之前将其替换为New Html
。