对的..。我需要找到所有< ul style="display: block;">元素,以便可以将其设置为do display:none。
我想我是在正确的道路上...但并不完全是这样:
jQuery('#adminMenu li').find("ul").css('display');
对于高级用户:如何使用一行来查找和更改样式?
发布于 2009-10-13 20:09:25
如上所述,这很棘手,但可以通过其他方式解决。最简单的是:
$("#adminMenu li ul:visible").hide();
假设项目要么隐藏,要么不隐藏。当然,考虑到你想隐藏它们,为什么不干脆:
$("#adminMenu li ul").hide();
尽量避免直接更改CSS样式。这是有问题的。它很难逆转,因为你发现很难搜索。请改用类:
#adminMenu li ul { display: none; }
ul.block { display: block; }
通过以下方式:
$("#adminMenu li ul").removeClass("block");
或
$("#adminMenu li ul.block").removeClass("block");
发布于 2009-10-13 20:18:06
您可以使用属性选择器和“包含”选项
$('#adminMenu li ul[style*="display:block"]').hide()
这实际上是说‘任何ul的style属性包含文本display:block’
发布于 2014-04-11 19:27:20
您可以使用filter。(http://api.jquery.com/filter/)
因此,您可以执行以下操作。
$('ul').filter(function() {
return $(this).css('display') == 'block';
});
https://stackoverflow.com/questions/1562634
复制相似问题