脚本标记将Javascript呈现为带有看似有效的HTML的文本

脚本标记将Javascript呈现为带有看似有效的HTML的文本,javascript,jquery,html,Javascript,Jquery,Html,我有一个脚本标记,它从html主体元素中删除了两个级别。由于某些原因,当此脚本标记呈现时,所有文本都呈现,而不是解释为JS: 因此,标记无法正确渲染。脚本文本呈现到屏幕上,而不是被识别为JS代码: 上面是我的导航栏,它将javascript代码呈现为文本。生成文本的html是: <span class="account-button" onclick="accountButtonPressed()"> {% if user.is_authenticated %}

我有一个脚本标记,它从html主体元素中删除了两个级别。由于某些原因,当此脚本标记呈现时,所有文本都呈现,而不是解释为JS:

因此,标记无法正确渲染。脚本文本呈现到屏幕上,而不是被识别为JS代码:

上面是我的导航栏,它将javascript代码呈现为文本。生成文本的html是:

<span class="account-button" onclick="accountButtonPressed()">
    {% if user.is_authenticated %}
        Sign In
    {% else %}
        Sign Out
    {% endif %}
</span>


<script>function accountButtonPressed(){if(isSignedIn){signUserOut();}else{toggleCreateAccount();}}</script>

{%if user.u经过身份验证%}
登录
{%else%}
退出
{%endif%}
函数accountButtonPressed(){if(isSignedIn){signUserOut();}else{toggleCreateAccount();}

我在网上其他任何地方都找不到这个错误。我想知道这是否是chrome的一个错误或者其他什么,因为我的HTML似乎完全有效。Chrome版本75。我编写的所有javascript都包含在HTML文件中。HTML在网络选项卡响应视图中以同样的错误方式呈现。

如果将
display:inline block
设置为
标记,则会将脚本呈现为文本。我无意中在CSS中设置了样式。

我认为您误解了控制台显示的内容。@Pointy我没有,我只是再次检查,我所说的正是正在发生的事情,我可以查看其他脚本标记,并且树的呈现方式不同。如果我按下脚本标记上的箭头,脚本将消失,因为它是标记的子级。除非你有另一种解释,解释为什么我隐藏的孩子时会消失,或者为什么chrome会这样渲染;这不是HTML或DOM的工作方式。但是,如果正在渲染字符串,则会发生一些事情。涉及什么框架?网络选项卡响应视图中的实际HTML是什么样子?@Pointy你说得对,我的错,谢谢你的更正。除了Jquery,我没有使用任何前端框架,而是使用Django模板在服务器端呈现一些东西。在发送到客户端之前,它都呈现为一个html文件,除了Jquery之类的文件外,没有单独的JS文件。脚本在模板文件中吗?后端可能正在清理标签字符。检查服务是否未将<>标签转换为
。我要花很长时间才能猜到:)