【问题标题】:jQuery click inside loopjQuery单击内部循环
【发布时间】:2016-11-14 14:33:16
【问题描述】:
尝试使用extractAsset(); 实现以下目标:
- 单击
div.clickable 时,如果lists[i].id >= 比之前的lists[i].id(尝试.prev() 但没有),则toggleClass("highlight");
理想情况下,如果这可行,则只有 list2(id:8) 会切换黄色背景。
我一直在尝试对小提琴进行评论。
see JSFiddle
感谢您提供一个有效的小提琴示例,谢谢。
【问题讨论】:
标签:
jquery
arrays
loops
click
comparison-operators
【解决方案1】:
您需要比较 .data 元素 html 的值。要获取上一个,请在目标 div 上使用 jquery prev 函数。
function extractAsset() {
for (var i = 0; i < lists.length; i++) {
$(".clickable" + [i]).click(function(){
if($(this).find('.data').html() >= $(this).prev().find('.data').html())
$(this).toggleClass("highlight");
})
}
}
jsfiddle