繁体   English   中英

将 django 模板中的 html 标签参数传递给 javascript 函数

[英]passing html tags arguments in django template to javascript function

我想在 django 模板中将 HTML 字符串作为参数传递给 javascript。 这是:我有一堆链接,它们在我的数据库中。 我可以通过{% for link in links %} {{ link }} {% endfor %}在我的 Django 模板中访问这些链接。 例如,我可以使用{{ link.name }}访问某个链接名称,但我也为每个链接指定了内容; {{ link.content }}

问题是; 在我的模板中,我有一个侧边栏导航,其中包含多个链接的 url,我想在该页面中显示单击链接的内容。 为此,我编写了一个名为 display 的 javascript 函数:

<script>
        function display(str){
                   document.getElementById('cont').innerHTML = str:                     
                      }
</script>

这将访问:

<div id="cont"> </div>

这里是:

<a class="nav-link active" href="{{ link.link }}" onclick="display('{{ link.content }}')">{{ link.name }}</a>

在上面的代码中,显示功能不起作用。 我的意思是,当我单击侧栏中的链接时,它不显示任何内容,实际上什么也不显示。 但是为了测试,当我将显示参数{{ link.content }}更改为其他类似'<h1>hello<h1>' ,它起作用了。 ps:我的链接的内容是一个内联的 html 标签,例如: '<h1><strong>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp' '<h1><strong>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp' '<h1><strong>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp'并注意我把我的<script> ...放在<body>底部。 我将非常感谢任何帮助和指导。

首先,你能不能检查一下你的{{ link.content }}是否不为空。 另外,尝试将脚本标签放在顶部。

onclick="display('{{ link.content }}')"

插入 link.content 时不要用单引号括起来

用:

onclick="display({{ link.content }})"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM