假设在我的样式表中:
.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[]
?
答案 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);