Javascript 如何让Handlebar模板返回DOM元素而不是HTML字符串?
我在Backbone.js应用程序中使用把手。我想知道如何让Handlebar模板返回DOM元素而不是字符串 这就是我的意思: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() {
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也失败了。