我目前正在尝试使用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();
});
});
答案 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 '