是否可以知道如果DIV的宽度设置为百分比或像素。
if (widthSetAsPixel) {
// code for doing something with respect to Pixel
}
if (widthSetAsPercentage) {
// code for doing something with respect to Percentage
}
答案 0 :(得分:4)
你实际上不想使用jQuery,因为它只会给你px的宽度,即使它是以百分比(或其他单位)设置的。因此,为了获得您想要使用window.getComputedStyle
宽度的单位。问题仍然在于,除非元素具有display: none;
所以......为了得到实际单位的宽度,我写了这个函数:
function getStyle(el){
var display = window.getComputedStyle(el).getPropertyValue("display");
el.style.display = "none";
var width = window.getComputedStyle(el).getPropertyValue("width");
el.style.display = display;
return width;
}
然后检查宽度是否为百分比:
var element = document.getElementById("myElementID");
var widthIsPercent = getStyle(element).indexOf("%") > -1;
此原则适用于其他CSS属性,例如height
,left
等。
jsFile of it in action:http://jsfiddle.net/dwjqfLsz/
答案 1 :(得分:3)
如果使用CSS设置宽度,您应该能够像这样解决:
var width = $('#yourDiv').css('width');
var widthSetAsPercentage = width.indexOf('%') > -1;
var widthSetAsPixel = !widthSetAsPercentage;