У меня есть таблица стилей, которая определяет ширину по умолчанию для изображений. Когда я читаю стиль ширины изображения с помощью jQuery width()
, он возвращает правую ширину. Он также возвращает ту же ширину, когда я звоню css("width")
. Но если в таблице стилей нет ширины, функция css("width")
также вернет вычисленное значение width()
, но не скажет undefined
или auto
или что-то в этом роде.jQuery/Javascript css ("width")/проверить, определен ли стиль в css?
Любые идеи, как я мог узнать, является ли стиль кодом CSS или нет?
Решение работает для меня кросс-браузера. Спасибо всем за помощь:
$(this).addClass("default_width_check");
var width = ($(this).width() == 12345) ? 'none-defined' : $(this).width();
var height = ($(this).height() == 12345) ? 'none-defined' : $(this).height();
$(this).removeClass("default_width_check");
.default_width_check {
width: 12345;
}
интересный вопрос. Интересно, зачем вам это нужно? – Stefanvds
Я думаю, что это поведение определено в спецификации HTML: Атрибут width элемента устанавливается на фактическую ширину элемента, если не указан. Tricky, интересно узнать, появляется ли какое-либо решение. –
У меня есть CMS, которая имеет строгие определения для изображения и размера текста. Однако размер изображения определяется в css для каждого изображения в каждом специальном шаблоне, используемом CMS. Если администратор просматривает изображение, я хочу показать ширину и высоту, определенные в css, чтобы пользователь знал, как обрезать/масштабировать изображение. – i3rutus