问题描述
我正在为三星智能电视开发一个网络应用程序。我目前正在将 Nunjucks 用于带有 jQuery 的 HTML 模板来解析和插入给定的响应。我遇到了一个我不明白的奇怪错误。
var queueHTML = jQuery.parseHTML(nunjucks.render('./templates/queue.njk',{ queue: q,isfirst: true}))[0];
console.log(jQuery.parseHTML(nunjucks.render('./templates/queue.njk',isfirst: true}))[0]);
console.log(queueHTML);
返回 jQuery.parseHTML
的直接响应的第一个日志为我提供以下 HTML(无关元素的点):
<div class="abedrt-queue carousel-item active " ...>
<h2 class="display-2" style="margin:auto;text-align:center">
<span class="abedrt-name" ...></span>
</h2>
<div class="container-fluid mt-4" style="font-family: Roboto,sans-serif">
<div class="row justify-content-center">
<div class="col-auto mb-3">
<div class="card abedrt-data-square abedrt-data-square-add" ...>
<svg ...> ... </svg>
</div>
</div>
</div>
</div>
</div>
但是第二个日志显示了我分配了 jQuery.parseHTML
调用的返回值的变量内的内容,给了我这个:
<div class="abedrt-queue carousel-item active " ...>
<h2 class="display-2" style="margin:auto;text-align:center">
<span class="abedrt-name" ...></span>
</h2>
<div class="container-fluid mt-4" style="font-family: Roboto,sans-serif">
<div class="row justify-content-center"></div>
</div>
</div>
模板永远不会被写入/覆盖。变量不会改变并且我的模板中没有条件(如果 isfirst
为真,则包装器 div 上的“活动”类除外),它们只更改我没有显示的数据属性,因为它们不相关解决这个问题。
问题不仅仅是在 console.log
内部,因为在插入 HTML 时它给了我同样的东西。
问题似乎也不是来自缓存。
那么是否有一个特殊的规则可以将 parseHTML 响应分配给一个可以实现这种情况的变量?或者也许只是我,我设法打破了一切?我真的不知道,因为这是一个新项目的开始。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)