簡體   English   中英

需要知道jQuery中的最大寬度值是%還是px

[英]Need to know in jQuery if a max-width value is in % or px

jQuery中有某種方法可以知道css頁面中定義的元素的最大寬度值是%還是px,因為jQuery總是以px為單位返回該值。

我的意思是....

.contain {
   max-width:80%;
}

jQuery-> .contain以%表示!

.contain {
   max-width:80px;
}

jQuery-> .contain在px中!

謝謝!

$('.contain').css('max-width')

它將返回一個字符串,“ 80px”或“ 80%”

然后,您可以使用indexOf查找是否存在“ px”或“%”

if ($('.contain').css('max-width').indexOf("px") !== -1) {
    //is in px
} else if ($('.contain').css('max-width').indexOf("%") !== -1) {
    //is in %
}

奇怪的是,Louis Patrice Bessette和Mayday都是正確的。

五月天的答案是正確的...如果您在Chrome中進行了測試! .css('width')將以px返回(即使以%設置),而.css('max-width')將在使用該單位時返回% 但是,在Firefox中,該值始終為px 您可以使用以下代碼進行測試,然后在Firefox和Chrome中打開。

 console.log($('div').css('max-width')); console.log($('div').css('width')); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div style="width: 80%; max-width: 80%"> Bananas </div> 

由此我們可以說,Louis Patrice Bessette正確地指出了您無法做到這一點。 的確如此,如果您正在談論jQuery的CSS方法-以及任何類似getComputedStyle的方法。

但是,您可以做的是解析樣式表並讀取寫在樣式中的實際值。 還有許多其他答案可以解決此問題,因此請檢查一下(您可以使用搜索功能查找更多答案):

或者,您可以簡單地將CSS文件讀取為文本文件,然后使用正則表達式來查找所需的值。 (但是,這可能更慢或更容易出錯)。

來自jQuery .css()頁面的引用

«.css()方法是獲取計算的樣式屬性(...)的便捷方法»

«請注意,元素的計算樣式可能與樣式表中為該元素指定的值不同。 例如,尺寸的計算樣式幾乎總是像素,但可以在樣式表中將它們指定為em,ex,px或%。»

這是使用最新jQuery版本(3.0.0)的測試小提琴

所以...簡單的答案是沒有。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM