猿问

使用jQuery选择具有特定CSS的所有元素

如何使用jQuery选择所有应用了特定CSS属性的元素?例如:


.Title

{

    color:red;

    rounded:true;

}


.Caption

{

    color:black;

    rounded:true;

}

如何通过名为“圆形”的属性进行选择?


CSS类名非常灵活。


$(".Title").corner();

$(".Caption").corner();

如何将这两个操作替换为一个操作。也许是这样的:


$(".*->rounded").corner();

有没有更好的方法来做到这一点?


拉莫斯之舞
浏览 888回答 3
3回答

qq_遁去的一_1

您不能(使用CSS选择器)根据已应用于它们的CSS属性选择元素。如果你想手动完成这个,你可以选择文档中的每个元素,循环它们,并检查你感兴趣的属性的计算值(这可能只适用于真正的CSS属性,而不是像as rounded)。它也会很慢。更新以响应编辑 - 组选择器:$(".Title, .Caption").corner();

跃然一笑

这是一个两年前的帖子,但它对我来说仍然有用,所以它可能对其他人有用。这是我最终做的事情:var x = $('.myselector').filter(function () {     return this.style.some_prop == 'whatever' });并不像我想的那样简洁,但除了现在我从来没有需要这样的东西,而且无论如何它对于一般用途都不是很有效,正如我所看到的那样。

慕村225694

我使用了你的解决方案,但使用了jQuery .css而不是纯javascript,如下所示:var x = $('*').filter(function() {    return $(this).css('font-family').toLowerCase().indexOf('futura') > -1})此示例将选择font-family属性值包含“Futura”的所有元素。
随时随地看视频慕课网APP
我要回答