请考虑以下事项:
<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')
?
答案 0 :(得分: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());
}
});
答案 1 :(得分:0)
试试这个:
$("body").find("div:hidden")
答案 2 :(得分:0)
试试这个
$("div[style*=display:block]")
答案 3 :(得分:0)
您可以尝试使用attribute selectors。
document.querySelectorAll('[style="display: none"]')
但这需要您的style
属性始终格式化......
如果您希望获得具有特定css属性的所有元素(不仅仅是style=
属性),您可能需要通过{查看{来手动执行此操作{3}}
答案 4 :(得分:0)
您可能无法依赖:hidden,因为它会选择
所以试试
$('div').filter(function () {
return $(this).css('display') == 'none';
}).doSomething()