如何用EJS替换动态生成内容的div内容?

时间:2015-04-26 11:40:38

标签: jquery node.js mongodb wysiwyg ejs

我有一个动态生成的博客文章,包含EJS和Node.js.我在后端使用WYSYWIG编辑器,帖子内容作为带有html标签的字符串存储在MongoDB中。在前端,我需要转义字符串并为每个帖子呈现html标签,但我的解决方案将所有div与blog_content类一起使用,并将所有div替换为第一篇帖子的内容。

<section id="blog" class="container">
   <div class="row">
        <!-- Blog Entries Column -->
        <div class="col-md-12">
        <% for(var i=0; i<blogOBJ.length; i++) {%>
            <!-- First Blog Post -->
            <div class="cont">
                <h2>
                    <a href="#"><%= blogOBJ[i].post_title %></a>
                </h2>
                <p class="lead by_author">
                    by <a href="index.php"><%= blogOBJ[i].post_author %></a>
                </p>
                <p><span class="fa fa-calendar"></span> Posted on <%= blogOBJ[i].post_date %></p>
                <hr>
                <p class="blog_content"><%= blogOBJ[i].post_content %></p>
                <a class="btn btn-primary" href="#">Read More <span class="fa fa-chevron-right"></span></a>
            </div>
        <% } %>
            <!-- Pager -->
            <ul class="pager">
                <li class="previous">
                    <a href="#">&larr; Older</a>
                </li>
                <li class="next">
                    <a href="#">Newer &rarr;</a>
                </li>
            </ul>
        </div>
    </div>
    <!-- /.row -->
</section><!--/#blog--> 

和我的jQuery:

var text= $('.blog_content').text();
$('.blog_content').html(now).text();

1 个答案:

答案 0 :(得分:0)

问题在于,使用$('.blog_content'),您选择了具有类.blog_content的所有项目。您需要一次只选择一个,并使用每个案例所需的数据一次更改一个。  $('.blog_content')将返回类似数组的对象,您可以访问其中的项目,例如$('.blog_content')[i]。您应该能够隔离您的项目并仅更新您想要的内容。