1

我想选择 DOM 中所有具有边框半径的元素!== 0。

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

4

3 回答 3

6

是的。使用.filter()函数。

$(elements).filter(function(){
     return parseInt($(this).css("border-radius"),10) != 0;
});
于 2012-10-26T14:38:33.130 回答
4

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

CSS:

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

JS:

$('.border-radius')
于 2012-10-26T14:38:29.230 回答
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给一个类并测试该类的对象是否存在。

于 2012-10-26T14:52:22.327 回答