Javascript 如何让Handlebar模板返回DOM元素而不是HTML字符串?

Javascript 如何让Handlebar模板返回DOM元素而不是HTML字符串?,javascript,backbone.js,handlebars.js,mustache,Javascript,Backbone.js,Handlebars.js,Mustache,我在Backbone.js应用程序中使用把手。我想知道如何让Handlebar模板返回DOM元素而不是字符串 这就是我的意思: define([ 'underscore', 'backbone', 'handlebars', 'text!templates/myTemplate.hbs' ], function(_, Backbone, handlebars, template) { ... ... render: function() {

我在Backbone.js应用程序中使用把手。我想知道如何让Handlebar模板返回DOM元素而不是字符串

这就是我的意思:

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元素,但由于handlebar模板中有大量额外的空格,因此存在语法错误。但是如果handlebar能够以某种方式返回DOM元素,而不是我自己解析它们,那就太好了。

您可以将输出通过管道传输到jQuery(如果这是一个选项),jQuery将解析handlebar模板,据我所知。 不知道jQuery是否是一个选项,但类似于:

var hbTemplate = Handlebars.compile(template);
var templateJqueryDom = $(hbTemplate(/* some json data */))

您可以通过管道将输出传输到jQuery(如果这是一个选项),据我所知,jQuery将解析把手模板。 不知道jQuery是否是一个选项,但类似于:

var hbTemplate = Handlebars.compile(template);
var templateJqueryDom = $(hbTemplate(/* some json data */))

什么样的dom解析器不能处理空间?我尝试过使用它,但它给我带来了很多关于额外空间的错误。当我使用该页面的源html时。domparser也失败了。什么样的domparser不能处理空间?我尝试过使用它,但它给我带来了很多关于额外空间的错误。当我使用该页面的源html时。domparser也失败了。