javascript - JS for循环中的变量取最大值

标签 javascript for-loop

我编写了一个 Javascript for 循环来自动隐藏和显示网站上的某些内容,但由于某种原因,该变量在循环结束时取最高值...

所以

for (var i = 1; i <= 5; i++) {
    $('.views-row-' + i + ' .faq_answer').hide();
    $('.views-row-' + i + ' .faq_more').click(function () {
        $('.views-row-' + i + ' .faq_answer').slideToggle();
    });
}

所有 .views-row .faq_answer 元素都会按其应有的方式隐藏,并且所有 .views-row .faq_more 都有一个点击处理程序。
但由于某种原因, slideToggle 行仅适用于类 views-row-6 的行(不存在)...

因此函数中的 i 变量并不适用于循环的所有值...
如何使其适用于所有 view-row-x

最佳答案

您应该在点击回调中使用 $(this) 引用您的元素。这里,i 将等于 i 的最后一个值。

    $('.views-row-'+ i + ' .faq_more').click(function(){
        $(this).slideToggle();
    });

关于javascript - JS for循环中的变量取最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14753476/

相关文章:

c - 为什么这段代码不报错?

scala - 在 for 理解中将选项与列表组合会导致类型不匹配,具体取决于顺序

javascript - 在 IE 10 中转换 XML AJAX 响应时出错

javascript - "while loop"返回意外的 "undefined"

javascript - native 菜单不显示 OS X Electron

c++ - for循环内的if语句未执行

Java:增强的 for 循环,数组大小未知

javascript - 如何在 javascript/Angular4+ 中用垂直线显示分层垂直数据?

javascript - 使用 jQuery 加载脚本

Python - 如何重新启动 for 循环?