Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.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 使用for循环切换div_Javascript_Jquery - Fatal编程技术网

Javascript 使用for循环切换div

Javascript 使用for循环切换div,javascript,jquery,Javascript,Jquery,只是想知道出了什么问题。。我有两个div,分别名为click_1和click_2。。我想切换名为hide的div与它们的编号对应。。假设单击带有隐藏的\u 1,然后单击带有隐藏的\u 2。。但是当我运行代码时,只需单击1即可。。似乎出了什么问题。。。我是新手。。最近学习的jquery <div id='click_1'> <div id='hide_1'></div> </div> <div id='c

只是想知道出了什么问题。。我有两个div,分别名为click_1和click_2。。我想切换名为hide的div与它们的编号对应。。假设单击带有隐藏的\u 1,然后单击带有隐藏的\u 2。。但是当我运行代码时,只需单击1即可。。似乎出了什么问题。。。我是新手。。最近学习的jquery

    <div id='click_1'>
        <div id='hide_1'></div>
    </div>
    <div id='click_2'>
        <div id='hide_2'></div>
    </div>

    <script>
    function toggle_div(id_A,id_B){
       for(var i=0; i<3; i++){
           var new_A = id_A + i;
           var new_B = id_B + i;

           $(new_A).click(function(){
                  $(new_B).toggle();
              });  
       }
    }

    toggle_div('click_','hide_');

    </script>

功能切换分区(id\U A、id\U B){

对于(var i=0;i问题是因为您的id选择器缺少
#
前缀:

toggle_div('#click_', '#hide_');
但是,您应该注意,您还需要使用此模式的闭包才能工作,否则
new_B
元素将始终是
for
循环中引用的最后一个元素


单击1
隐藏1
点击2
隐藏2
功能切换分区(id\U A、id\U B){
对于(变量i=1;i<3;i++){
var new_A=id_A+i;
var new_B=id_B+i;
(职能(a、b){
$(a)。单击(函数(){
$(b).切换();
})
})(新A、新B);
}
}
切换_div(“#单击#”、“隐藏#”);

最好不要将
用于循环
用于单击事件!如果您有这样的id,您可以通过单击id拆分来处理

$([id^='click_']])。在(“click”,函数(){
$('#hide'+this.id.split('#'[1]).toggle();
});

点击1
藏身处
点击2
躲藏

amm..对不起..我想只是为了循环..你认为你能解决它吗?我几乎已经完成了答案。但是答案就在一秒钟前发布了。所以我没有发布。@不,请写问题以便它们容易理解。stackoverflow不是聊天,不要使用…到处啊…就是这样!…你需要一个关闭函数..哟你是伴郎……顺便说一句……我喜欢你的简化代码……非常感谢……没问题,很乐意帮忙。不过,我强烈建议你使用后一种模式。