使用jquery和javascript的Django for循环列表
Django for loop list with jquery and javascript
问题:我只想显示一个<li>
元素的结果,而不是所有元素的结果。
如果你有任何问题,一定要问。
Javascript:
function func1(i){
$('el[i] ~ span#showOrNo').css({'display':''}); //doesn't work
//$('span#showOrNo').css({'display':''}); this works, but displays all elements
}
function func2(i){
$('el[i] ~ span#showOrNo').css({'display':'none'});
//$('span#showOrNo').css({'display':'none'});
}
var el = $('li');
for(var i = 0; i < el.length; i++){
el[i].addEventListener('mouseover', function(){
func1(i);
}, false);
el[i].addEventListener('mouseout', function(){
func2(i);
}, false);
}
Html:
{% for song in songs %}
<li>
<div>
<span>{{ song.name }}-{{ song.artist }}</span>
<div id="showOrNo", style='display:none'>
{% if song.attr %}
<span>{{ song.attr }}</span>
{% else %}
<span>{{ song.change }}</span>
{% endif %}
</div>
</div>
</li>
您必须在HTML中使用唯一的id
s,但在这种情况下不需要将事件绑定到特定的id。试试这个:
HTML:
<li>
<div>
<span>{{ song.name }}-{{ song.artist }}</span>
<div class="showOrNo" style='display:none'>
{% if song.attr %}
<span>{{ song.attr }}</span>
{% else %}
<span>{{ song.change }}</span>
{% endif %}
</div>
</div>
在JS中,使用类选择器:
function func1() {
$(this).find('div.showOrNo').css({'display':''});
}
function func2() {
$(this).find('div.showOrNo').css({'display':'none'});
}
$('li').on('mouseover', func1);
$('li').on('mouseout', func2);
这将绑定HTML文档中的每个li
,当您将鼠标悬停/移出时,它将找到第一个div
,其中class
包含showOrNo。您可以在此处看到结果:http://jsfiddle.net/7qx5ge9m/1/
相关文章:
- 为什么JavaScript在for循环为3时向所有4发出警报
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- 我的javascript for循环不起作用
- For循环冻结Javascript
- 如何在for循环中添加事件侦听器
- 双“for”循环(循环)
- javascript for循环不起作用
- for循环中的javascript if语句找不到==
- Javascript在for循环中等待处理请求
- For循环在Jquery中只运行一次
- 如何在for循环中使用计数器
- for循环中的JavaScript闭包
- 为什么我们在ES2015中需要一个新的for循环结构,而我们已经有了for、forEach
- For循环在调用时未运行
- 如何使用for循环添加所有按钮'单击事件
- 如何更改在for循环中生成的圆的位置
- 为什么这个For循环会使浏览器实验室崩溃
- 为什么我使用javascript获得了一个无限的for循环
- 在for循环中使用多维数组设置google.maps.Marker图标
- 如何在angularJS中运行for循环而不使用html标记