setAttributeを使用して「hidden」および「visible」と呼ばれるスタイルクラスを適用することにより、ページ上のさまざまなdivを表示および非表示にする関数をいくつか作成しています。この関数は、一度に複数のdivを非表示にすることを目的としています。クラス「hidden」が与えられる各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");
}
}
確かに呼び出されていますが、何らかの理由でこの関数は機能していません。
行[[vardivClass= div.getAttribute( "class");]]の前に配置すると、ループ内に配置されたalert()が表示されます。この行の後に配置されているので、そうではないので、この行が問題のある場所だと思います。
すべてのdivにはクラス属性が指定されています。