后台是用 Django 写的,我想模仿豆瓣电影写一个页面,把电影海报和名字、评分等信息放上去,以下是代码
{% for film in movie %}
<div class='movie'>
<li id="film_path" hidden="hidden">{{ film.image_local_path }}</li>
// film.image_local_path 是从数据库里拉出来的图片地址,
// 用了 Django 的 load staticfiles,数据长这样 "{% static 'image/26235346.jpg' %}",
<li><img id="img" alt="图片不见了" /></li>
<li>{{ film.name }}</li>
</div>
{% empty %}
<p>这里没有东西</p>
{% endfor %}
以下为 JavaScript 代码,主要逻辑是找到 Id 为 film_path 的 li 标签文本节点值,然后赋值给 Id 为 img 的 img 标签,把图片加载到页面上。但是现在遇到一个问题,把节点值当做参数传入后,图片未加载。
function changeImgSrc() {
var film_img_li = document.getElementById("film_path");
var film_path_childnode_nodeValue = film_img_li.childNodes[0].nodeValue;
var set_img_path = document.getElementById("img");
set_img_path.setAttribute("src", film_path_childnode_nodeValue);
当我把地址直接当做参数传入后,比如下面这样是可以实现想要的效果的,不知道问题出在哪了?
set_img_path.setAttribute("src", "{% static 'image/26235346.jpg' %}");
1
crystom 2019-12-11 01:25:29 +08:00
id 写在循环里重复了,应该是页面唯一才能找到
|