Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/181.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 列出类元素(索引)。fadetoggle(某些速度)不工作_Javascript_Jquery - Fatal编程技术网

Javascript 列出类元素(索引)。fadetoggle(某些速度)不工作

Javascript 列出类元素(索引)。fadetoggle(某些速度)不工作,javascript,jquery,Javascript,Jquery,我有两个班级项目列表 var listEditCommitLinks = document.getElementsByClassName('edit-comment-link'); var listEditCommitWrappers = document.getElementsByClassName('edit-commit-wrapper'); 链接和包装 <a href="#" class="edit-commit-link">Edit</a> <div c

我有两个班级项目列表

var listEditCommitLinks = document.getElementsByClassName('edit-comment-link');
var listEditCommitWrappers = document.getElementsByClassName('edit-commit-wrapper');
链接和包装

<a href="#" class="edit-commit-link">Edit</a>
<div class="edit-commit-wrapper">
 ..
</div>
默认情况下,每个包装都是隐藏的,并且应该在链接单击时淡出切换(使用相同的列表索引nr)

但出于某种原因,这不适合我。 用于浏览列表的js:

for (var i = 0; i < listEditCommitLinks.length; i++) {

    listEditCommitLinks[i].onclick = function () {
        listEditCommitWrappers[i].fadeToggle(200);
    }
}
for(var i=0;i
错误:

未捕获的TypeError:ListedCommitterRappers[i]。fadeToggle不是函数

增加


有办法解决这个问题吗?jQuery解决方案也很好(我在js之前尝试过,但也没有成功)。谢谢

问题是,
fadeToggle
是一个jQuery实例方法,
ListedCommitterRappers
中的项是而不是jQuery对象。那么

jQuery(function($) {
    $('.edit-commit-link').on('click', function(e) {
        e.preventDefault();
        $(this).next('.edit-commit-wrapper').fadeToggle(200);
    });
});

正在工作的jsFiddle~


要使它与您的pastebin HTML一起工作,您可以尝试类似的东西,尽管我觉得它变得越来越凌乱

$(this).closest('.row').next('.edit-commit-wrapper').fadeToggle(200);

请参见

for循环没有如您所想的那样正常工作,因为当for结束时,所有I实际上都是(listedCommitLink.length+1)。不是0,1,2。。。你可以这样写一个闭包

for (var i = 0; i < listEditCommitLinks.length; i++) 
{
    listEditCommitLinks[i].onclick = (function (a) 
    {
        return function () 
        {
            listEditCommitWrappers[a].fadeToggle(200);
        }
    })(i);
}
for(var i=0;i
样式应为
display:none
,而不是
display=“none”
@Phil抱歉拼错了我的帖子您的问题HTML与您的邮箱中的HTML完全不同。如果你没有提供正确的信息,你怎么能期望得到帮助呢?这不是整个js循环吗?似乎不起作用:(.解释“似乎不起作用”的实际含义。你的JavaScript控制台中有错误吗?对不起,现在有错误了,我正在调试atm以检查是做什么(或不做什么)。我认为这可以通过你给我的解决方案/链接来完成。我认为下一个没有找到下一个,因为有一些嵌套的div(不确定(?)。我添加了一个帕斯塔宾代码来描述div的真实外观like@JimVercoelen这是因为你的代码有
edit comment link
但你的HTML有
edit commit link
。我已经在我的回答中修复了它,这是一个糟糕的问题,但现在它可以像你说的那样工作了。谢谢。这很好,但是
listedcommitwrappers[a] 
仍然需要包装在jQuery对象中,它才能获得
fadeToggle
for (var i = 0; i < listEditCommitLinks.length; i++) 
{
    listEditCommitLinks[i].onclick = (function (a) 
    {
        return function () 
        {
            listEditCommitWrappers[a].fadeToggle(200);
        }
    })(i);
}