Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jquery模板{{wrap}}包装纯文本_Javascript_Jquery_Jquery Templates - Fatal编程技术网

Javascript 使用jquery模板{{wrap}}包装纯文本

Javascript 使用jquery模板{{wrap}}包装纯文本,javascript,jquery,jquery-templates,Javascript,Jquery,Jquery Templates,对于jQuery模板,我尝试使用{{wrap}}template标记来包装另一个模板的结果。第二个模板呈现纯文本,而不是HTML。我当前得到一个空字符串,希望从中获得包装模板呈现的纯文本 如果我用一些HTML元素(如标记)围绕纯文本,那么一切都正常,但我将呈现到结果中。为了使{{html}}标记正常工作,我可以在我的内容周围创建一个伪标记,但我不希望它出现在呈现的结果中 我还想使用这个相同的包装器,如果可能的话,包装实际上也会生成HTML的模板,所以如果相同的包装器模板可以同时适用于这两种情况,

对于jQuery模板,我尝试使用{{wrap}}template标记来包装另一个模板的结果。第二个模板呈现纯文本,而不是HTML。我当前得到一个空字符串,希望从中获得包装模板呈现的纯文本

如果我用一些HTML元素(如
标记)围绕纯文本,那么一切都正常,但我将
呈现到结果中。为了使{{html}}标记正常工作,我可以在我的内容周围创建一个伪标记,但我不希望它出现在呈现的结果中

我还想使用这个相同的包装器,如果可能的话,包装实际上也会生成HTML的模板,所以如果相同的包装器模板可以同时适用于这两种情况,那就更好了

这是我的密码:

$("#x").html($("#myTmpl").tmpl());


以下内容包装了一些非HTML内容:{{wrap“#wrapper”}}帮助{{/wrap}
包装内容:{html$item.html}

这段代码可以在这个jsFiddle中找到:

我最终找到了一个解决方案。我创建了一个使用伪标记包装纯文本(甚至是其他模板生成的html),然后创建了一个传递到模板调用的函数,该函数可以去掉伪标记。我这样调用它:
{{html$data.clean($item)}
。“clean”函数需要访问内部模板返回的内容,我发现它是
$item.wrapped[0]
。一旦我有了那个内容,我就可以从clean函数返回它的内部html

不过,我担心是否应该访问
$item.wrapped

最终,我可能会尝试重构代码,使其不需要这个伪标记和清理功能

此解决方案可在以下位置找到:


编辑:还有另一种方法可以调用appendTo将模板html附加到另一个DOM元素,然后将数据提取出来。

有没有可能重构代码以使用
{tmpl}
标记(而不是
{wrap}
)是的,但是在我尝试包装之前和之后,我需要一个{tmpl}}。