33

メニューを非表示/表示するスクリプトを書いていますが、いくつか問題が発生します。

    function displayMenu() {
//var classMenu = event.target.className;
//classMenu += 'Menu';
    //document.getElementsByClassName(classMenu).style.display = 'block';
document.getElementsByClassName('btn-pageMenu').style.display = 'block';
    }

最終的にやりたいことをコメントで述べていますが、静的変数で試しても機能しません。CSS で:

    fieldset.toolsbox ul.btn-pageMenu {display:none;}

私もこのように試します:

    .btn-pageMenu {display:none;}

もう成功しません。誰にも提案がありますか?私はJSを学んでいますが、他の同様のスクリプトと比較してもエラーは見つかりません。

ご協力いただきありがとうございます :)

4

2 に答える 2

103

document.getElementsByClassName('btn-pageMenu')nodeListを配信します。使用する必要があります: document.getElementsByClassName('btn-pageMenu')[0].style.display(変更したいリストの最初の要素である場合。

style.displayリストをすべてのノード ループで変更する場合は、次のようにします。

var elems = document.getElementsByClassName('btn-pageMenu');
for (var i=0;i<elems.length;i+=1){
  elems[i].style.display = 'block';
}

完全にするために:jqueryを使用する場合、次のように簡単です:

​$('.btn-pageMenu').css('display'​​​​​​​​​​​​​​​​​​​​​​​​​​​,'block');​​​​​​
于 2012-08-30T10:07:55.937 に答える