有没有办法选择使用特定CSS3属性的元素?

时间:2012-10-26 14:37:07

标签: javascript jquery css css3

我想选择DOM中所有具有border-radius!== 0。

的元素

你们知道这样做的方法吗?

3 个答案:

答案 0 :(得分:6)

是。使用.filter()功能。

$(elements).filter(function(){
     return parseInt($(this).css("border-radius"),10) != 0;
});

答案 1 :(得分:4)

使用CSS类定义边界半径,然后使用jQuery选择它们。

CSS:

.border-radius {
    border-radius: 4px;
}

JS:

$('.border-radius')

答案 2 :(得分:3)

因为我想要彻底,我们应该考虑border-radius可以接受多个值来分别描述所有四个角的事实:

$('*').filter(function() {
    var br = $(this).css("border-radius").split(' '),
        test = false;
    for (var i = 0, j = br.length; i < j; i++) {
        test = test || parseInt(br[i], 10);
    };
    return test;
})

http://jsfiddle.net/mblase75/SLUcb/

也就是说,过滤页面上的每个元素都是非常低效的。更好的方法是将border-radius分配给一个类,并测试该类是否存在对象。