对...我需要找到所有<ul style ="display:block;">元素,这样我就可以设置display:none.
我想我在这里正确的道路......但不是那里:
jQuery('#adminMenu li').find("ul").css('display');
Run Code Online (Sandbox Code Playgroud)
对于高级用户:如何通过一行查找和更改样式?
cle*_*tus 26
如上所述这很棘手,但可以通过其他方式解决.最简单的是:
$("#adminMenu li ul:visible").hide();
Run Code Online (Sandbox Code Playgroud)
假设项目是隐藏的或不是隐藏的.当然,考虑到你想隐藏它们,为什么不只是:
$("#adminMenu li ul").hide();
Run Code Online (Sandbox Code Playgroud)
尽量避免直接更改CSS样式.这是有问题的.很难扭转,因为你发现很难找到.改为使用类:
#adminMenu li ul { display: none; }
ul.block { display: block; }
Run Code Online (Sandbox Code Playgroud)
有:
$("#adminMenu li ul").removeClass("block");
Run Code Online (Sandbox Code Playgroud)
要么
$("#adminMenu li ul.block").removeClass("block");
Run Code Online (Sandbox Code Playgroud)
Cor*_*nie 22
您可以使用属性选择器和"包含"选项
$('#adminMenu li ul[style*="display:block"]').hide()
Run Code Online (Sandbox Code Playgroud)
这基本上说'任何ul谁的样式属性包含文本显示:块'
你可以使用过滤器.(http://api.jquery.com/filter/)
所以你可以这样做.
$('ul').filter(function() {
return $(this).css('display') == 'block';
});
Run Code Online (Sandbox Code Playgroud)