使用jQuery编写大量HTML代码的好方法是什么?

时间:2013-05-30 12:56:44

标签: javascript jquery jquery-plugins

我正在Django项目中使用jQuery动态编写几个HTML表单。这就是我现在这样做的方式:

function WriteSomeRandomContent() {
    var sContent = "<h3>foobar</h3>";
    sContent += "<br />";
    sContent += "<p>Gosh ! This is a lot of HTML content !</p>";
    ...
    sContent += "<p>For real dude I have to do it within decades of lines !</p>";
    $("#foobar").html(sContent);
}

我想要做的是通过使用某种HTML模板从我的JavaScript函数中删除丑陋的HTML代码,然后我可以在我的sContent变量中包含

有没有办法做到这一点,还是有更好的方法来处理JavaScript中的大量HTML代码?

修改


可能重复:load jQuery-Templates from external file?

3 个答案:

答案 0 :(得分:2)

使用JavaScript模板。像AngularJS,Ember。

答案 1 :(得分:2)

Dust.js,Handlebars.js,jquery模板......以及许多其他类似的东西..

谷歌他们..

答案 2 :(得分:0)

是的,肯定会使用像underscore这样的模板.js提供了一种名为template

的方法
<script id="listItem" type="text/template">
    <h3>{{ dynamic_text }}</h3>";
     <br />
    <p>Gosh ! This is a lot of HTML content !</p>
    <p>For real dude I have to do it within decades of lines !</p>
</script>

然后使用像backbone.js这样的东西和下划线你可以做到这一点。

App.Views.ListItem = Backbone.View.extend({
   tagName: 'li',
   template: _.template($('#listItem')),
   render: function(){
      //binds the model data to our template and then appends it to our view (ex: li )
      this.$el.append( this.template( this.model.toJSON ) );
      return this;
   }
});

您还可以添加模板帮助程序方法,通过执行此操作使事情变得更简单

window.template = function(id){
   return _.template($('#' + id));
}
//template: template('listItem')