Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Django将eventlistener添加到模板标记上的for…循环_Javascript_Python_Django_Django Templates_Dom Events - Fatal编程技术网

Javascript Django将eventlistener添加到模板标记上的for…循环

Javascript Django将eventlistener添加到模板标记上的for…循环,javascript,python,django,django-templates,dom-events,Javascript,Python,Django,Django Templates,Dom Events,我正在尝试将事件侦听器添加到由django模板标记创建的链接列表中 它应该获取类为div.cat-link的对象列表,并为每个对象添加一个eventlistener,以显示div.cat-select html {t在标记%中的百分比为%1} {%endfor%} {t在标记%中的百分比为%1} {t.produto_set.all%} {%endfor%} {%endfor%} JavaScript: 功能显示(一){ var v1=document.getElementById(一个)

我正在尝试将事件侦听器添加到由django模板标记创建的链接列表中

它应该获取类为
div.cat-link
的对象列表,并为每个对象添加一个eventlistener,以显示
div.cat-select

html


{t在标记%中的百分比为%1}
{%endfor%}
{t在标记%中的百分比为%1}
{t.produto_set.all%}
{%endfor%}
{%endfor%}
JavaScript:


功能显示(一){
var v1=document.getElementById(一个);
v1.style.display=“flex”;
};
函数隐藏(一){
var v1=document.getElementById(一个);
v1.style.display=“无”;
};
功能类别(){
var v1=document.getElementsByClassName('cat-link');
用于(v1中的o){
var v2='cat_u'+v1[o].getAttribute('id')
v1[o].addEventListener('mouseover',函数(){Showing(v2)});
v1[o].addEventListener('mouseout',函数(){Hiding(v2)});
};
};
类别()
它应该获取类为
div.cat-link
的对象列表,并为每个对象添加一个eventlistener,以显示
div.cat-select

我得到了一个错误:

未捕获的TypeError:v1[o]。getAttribute不是函数


什么也没发生。

看起来你把Python语法和JavaScript混为一谈了

首先,尝试
for(让v1中的o)
而不是
for(v1中的o)


然后,您尝试通过索引访问它,但这不是您正在使用的循环类型。请尝试
o.getAttribute('id')

不要在HTMLCollection上使用
for…in
。如果将
o
登录到循环中的控制台,您将看到原因(o有时是
长度
名称项
)<代码>for(let o of v1){let v2='cat_'+o.id;应该工作得更好。(注意:
let
,而不是
var
,以确保范围保留在事件处理程序中)我做得不太好!!。非常感谢@blex。除了文档之外,先生还会推荐任何JS教程吗?我尝试了var和let。我通过索引进行访问,因为当我尝试通过
o
获取时,它会返回HTMLCollection中该对象的索引。我现在不明白为什么。但是谢谢你的回答