如何将html传递给JQuery并找到单个元素并替换

时间:2017-11-21 13:20:37

标签: javascript jquery html ajax

我期待能够将一段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

0 个答案:

没有答案