0
我在我的Backbone.js应用程序中使用Handlebars。我想知道如何让Handlebars模板返回DOM元素而不是字符串?如何让Handlebars模板返回DOM元素而不是HTML字符串?
这就是我的意思是:
define([
'underscore',
'backbone',
'handlebars',
'text!templates/myTemplate.hbs'
], function(_, Backbone, handlebars, template) {
...
...
render: function() {
// This returns me a string of HTML, I would like to be able
// to get actual DOM elements so that I can use appendChild
// and insertBefore etc.
var hbTemplate = Handlebars.compile(template);
var templateString = hbTemplate(/* some json data */);
},
...
...
我曾尝试使用的DOMParser来解析HTML字符串到DOM元素,但也有因有很多来自把手模板多余的空格的语法错误。但如果Handlebars可以以某种方式返回DOM元素,而不是我自己解析它,那将会很好。
什么样的dom解析器不能处理空间? – VeXii 2013-04-07 18:20:59
我试过使用这个https://developer.mozilla.org/en-US/docs/DOM/DOMParser,但它给我带来了很多关于额外空间的错误。 – 2013-04-07 18:21:40
当即时通讯使用该网页的源html。 domparser也失败了。 – VeXii 2013-04-07 18:29:12