我想选择 DOM 中所有具有边框半径的元素!== 0。
你们知道这样做的方法吗?
是的。使用.filter()函数。
$(elements).filter(function(){
return parseInt($(this).css("border-radius"),10) != 0;
});
使用 CSS 类定义边框半径,然后使用 jQuery 选择它们。
CSS:
.border-radius {
border-radius: 4px;
}
JS:
$('.border-radius')
因为我喜欢彻底,我们应该考虑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
给一个类并测试该类的对象是否存在。