我正在编写许多函数来显示和隐藏页面上的各种 div,方法是使用 setAttribute 应用名为“hidden”和“visible”的样式类。此功能旨在一次隐藏多个 div。要赋予“隐藏”类的每个 div 的 ID 都列在一个数组中。
每个 div 可能有多个类,所以当一个 div 被赋予“隐藏”类时,它的其他类必须被保留,除了“可见”类被替换。
function hideSections() {
// Initialise array with div IDs
var divs = new Array("tab-1", "tab-2", "tab-3", "tab-4", "tab-5");
// Loop through divs in array
for (var count = 0; count < divs.length; count++) {
// Get existing classes
var div = document.getElementById(divs[count]);
var divClass = div.getAttribute("class");
// Remove "visible" class if it exists
divClass = divClass.replace("visible", "");
// Append "hidden" class
div.setAttribute("class", divClass + " hidden");
}
}
由于某种原因,这个函数不起作用,尽管它肯定被调用了。
如果放置在 [[var divClass = div.getAttribute("class");]] 行之前,则会出现放置在循环内的 alert()。放在这条线之后,它没有,所以我猜这条线是问题所在。
所有的 div 都指定了一个类属性。