给变量赋值时 jQuery.parseHTML 是如何工作的?

问题描述

我正在为三星智能电视开发一个网络应用程序。我目前正在将 Nunjucks 用于带有 jQ​​uery 的 HTML 模板来解析和插入给定的响应。我遇到了一个我不明白的奇怪错误

我有以下 javascript 代码

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 (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...