无法将属性“display”设置为undefined [英] Cannot set property 'display' of undefined
问题描述
我写脚本隐藏/显示菜单,但我遇到了一些麻烦。
function displayMenu $ b // var classMenu = event.target.className;
// classMenu + ='Menu';
//document.getElementsByClassName (classMenu ).style.display ='block';
document.getElementsByClassName('btn-pageMenu')。style.display ='block';
}
在注释中我最后想做什么, var它不工作。
在CSS中:
fieldset.toolsbox ul.btn-pageMenu {display:none;}
我也尝试这样:
code> .btn-pageMenu {display:none;}
任何人都有建议?
感谢您的帮助:)
document.getElementsByClassName('btn-pageMenu')
传递 nodeList 。您应该使用: document.getElementsByClassName('btn-pageMenu')[0] .style.display
(如果它是您要更改的列表中的第一个元素。 p>
如果要更改所有节点的 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');
I'm writting script to hide/show menu but I get some troubles.
function displayMenu() {
//var classMenu = event.target.className;
//classMenu += 'Menu';
//document.getElementsByClassName(classMenu).style.display = 'block';
document.getElementsByClassName('btn-pageMenu').style.display = 'block';
}
In comment what I want to do finally, but even if I try with static var it's not working. In the CSS :
fieldset.toolsbox ul.btn-pageMenu {display:none;}
I try like this too :
.btn-pageMenu {display:none;}
No more success. Anybody have a suggestion ? I'm learning JS and I not finding errors when I compare with other similar scripts.
Thanks for your help :)
document.getElementsByClassName('btn-pageMenu')
delivers a nodeList. You should use: document.getElementsByClassName('btn-pageMenu')[0].style.display
(if it's the first element from that list you want to change.
If you want to change style.display
for all nodes loop through the list:
var elems = document.getElementsByClassName('btn-pageMenu');
for (var i=0;i<elems.length;i+=1){
elems[i].style.display = 'block';
}
to be complete: if you use jquery it is as simple as:
$('.btn-pageMenu').css('display','block');
这篇关于无法将属性“display”设置为undefined的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!