-1

考虑以下:

<style>
   #foo{color:red}
</style>
<div>
    <div id='foo'>A</div>
    <div>B</div>
    <div style="color: red">C</div>
</div>

如何获取所有具有某些特定 css 规则的 DIV(例如,它们的颜色是红色)?是否有任何插件可以扩展 jQuery 选择器以接受 css 规则(例如$('ul li{color:red;width:50px} span')

4

5 回答 5

1

根据你的问题

How to fetch all DIVs that have some specific css rules (e.g. their color are red)?

$.each($('*'), function () {
    if ($(this).css('color') == 'rgb(255, 0, 0)') {
        alert($(this).text());
     }
 });

This will get all elements with color Red

现场演示

添加

就像*选择 Dom 中的所有元素一样,我们可以通过指定要查找的元素类型来缩小搜索范围。例如这里我们只有div元素,所以我们可以使用

$.each($('div'), function () {
    if ($(this).css('color') == 'rgb(255, 0, 0)') {
        alert($(this).text());
     }
 });
于 2013-10-30T05:00:46.310 回答
0

尝试这个:

$("body").find("div:hidden")
于 2013-10-30T04:29:48.250 回答
0

尝试这个

$("div[style*=display:block]")
于 2013-10-30T04:31:25.150 回答
0

您可能无法依赖:hidden因为它选择

  • 它们的 CSS 显示值为 none。
  • 它们是 type="hidden" 的表单元素。
  • 它们的宽度和高度明确设置为 0。
  • 祖先元素是隐藏的,因此该元素不会显示在页面上。

所以试试

$('div').filter(function () {
    return $(this).css('display') == 'none';
}).doSomething()
于 2013-10-30T04:47:57.367 回答
0

您可以尝试使用属性选择器

document.querySelectorAll('[style="display: none"]')

但这需要您的style属性格式一致...

如果您希望获取具有特定 css 属性的所有元素(不仅仅是在style=属性中),您可能必须通过查看文档 stylesheets手动完成。

于 2013-10-30T04:33:51.983 回答