我想躲具有鈣CSS3元素:如何隱藏哪些有calc css?
nav{width: calc(100% - 20px); height: 50%;}
我嘗試這樣做:
$('*').filter(function() {
return $(this).css('width') == 'calc';
}).css("display","none");
,但似乎走錯了路怎麼辦?
我想躲具有鈣CSS3元素:如何隱藏哪些有calc css?
nav{width: calc(100% - 20px); height: 50%;}
我嘗試這樣做:
$('*').filter(function() {
return $(this).css('width') == 'calc';
}).css("display","none");
,但似乎走錯了路怎麼辦?
css
方法返回屬性的計算值,你應該閱讀和篩選初始CSS規則:
var s = document.styleSheets[1], // the second stylesheet (for jsfiddle)
rules = s.cssRules,
selector = [],
l = rules.length;
for (var i = 0; i < l; i++) {
if (rules[i].style['width'].indexOf('calc') > -1) {
selector.push(rules[i].selectorText);
}
}
$(selector.join()).hide();
是否可以正常工作,因爲不支持從中刪除樣式? –
@ C-link否,因爲'calc'是它們的未知(_or invalid_)值,所以這些瀏覽器應該將該值設置爲空字符串。 – undefined
如果可以,我可以使用空字符串嗎?不,這不是好方法。那麼有什麼想法? –
jQuery的不支持CSS中calc()
功能的過濾器。以下是我測試放大的屏幕截圖,並查看nav
對象的css屬性更改。
這裏是一個有點醜陋的黑客,我想出了,它雖然過濾您的要求。
$('*').filter(function() {
return $(this).css('width') == $(this).parent().width()-150 + "px";;
}).css("display","none");
,或者更確切地說,添加CSS類和解決問題..
供參考:看這個演示http://jsfiddle.net/7DrVE/15/這不是過濾器,但不會工作的背景? –
是的,你說得對,對不起。更新後的js函數將會過濾一個屬性爲「width:calc(100% - 150px)」的css類,請檢查一下 – albusshin
你在做什麼?????? –
請參考下面的鏈接,它可以幫助你 http://stackoverflow.com/questions/17820559/hide-image-of-specific-size-by -css – Lachu
'css'返回_computed_樣式,您應該閱讀並過濾非常昂貴的CSS規則。 – undefined