For Loop to以编程方式隐藏元素

时间:2015-02-20 17:17:42

标签: javascript jquery

我目前正在尝试使用jQuery中的数组和循环以编程方式隐藏页面上的div元素,但它似乎不起作用。

我已经完成了alert和console.log以确认数组正在触发并且循环正在处理这些项目,但它是.hide()方法似乎给出了问题。任何帮助将不胜感激。

由于

$(document).ready(function(){
       var divsToHide = ["fin_0", "fin_1", "fin_2", "fin_3", "fin_4", "fin_5", 
"fin_6", "fin_7", "fin_8", "fin_9", "fin_10", "fin_10-1", "fin_10-2", "fin_10-3", 
"fin_10-4", "fin_10-5", "fin_10-6", "fin_10-7", "fin_10-8", "fin_10-9", "fin_20", 
"fin_21", "fin_22", "fin_23"];

    $.each(divsToHide, function(index, value)
    {
        var currentDiv = "div#" + value;
        var stringCurrent = currentDiv.toString();
        var currentHide = $(' stringCurrent ');

            console.log(currentDiv);
            currentHide.hide();
    }); 
});

3 个答案:

答案 0 :(得分:7)

您应该使用:

var currentHide = $(stringCurrent);

您的代码

var currentHide = $(' stringCurrent ');

没有引用stringCurrent变量,只是尝试查找<stringCurrent>元素。

答案 1 :(得分:5)

更好的是,你应该使用

 $.each(divsToHide, function(index, value)
 {
    $("#" + value).hide()
 }); 

因为元素id应该是文档唯一的

答案 2 :(得分:2)

您需要删除stringCurrent周围的'。否则,您的字符串不会被解释,但jquery会搜索' stringCurrent '