如何用jquery检测css值?

时间:2014-03-07 07:30:34

标签: javascript jquery

假设在我的样式表中:

.test{width: 20px; height: 50px; color: blue;}
.some-test{padding: 20px; margin: 10px;}
.even-test{font-size: 20px; color: red;}

是否可以检测每个css属性的20px值,以便我可以替换它?


我想要发现这样的事情:

$('.selector').filter(function() {
    return $(this).css(property) === '20px';
}).css(property, value);

是否有类似的内容:style.arguments[]

2 个答案:

答案 0 :(得分:0)

您可以使用jQuery中的过滤器函数来查找具有该宽度的所有元素。

$('.allYourSelectors').filter(function() {
    return $(this).css('width') === '20px';
}).css("width", newWidth);

但是,只要给他们所有可以修改的相同课程,就会更好。

答案 1 :(得分:0)

搜索CSS样式(不确定这是否得到style =“...”样式):

var parseStyle = function(rules) {
    for (var i = 0; i < rules.length; ++i)
    {
        console.log(rules[i].style.width);
    }
};

//care needs to be taken as to when this executes - styles may not have been loaded yet
for (var i = 0; i < document.styleSheets.length; ++i)
    if (document.styleSheets[i].rules && document.styleSheets[i].rules.length > 0)
        parseStyle(document.styleSheets[i].rules);

如果它不是您想要的CSS属性,而是元素上样式的结果,那么这可能更像您所追求的......

var element = ... jquery or whatever
var elementStyle = element.currentStyle || getComputedStyle(element);
console.log(elementStyle.width);