JQuery получить атрибут из стиля
Мне нужно извлечь что-то из атрибута "style": атрибут "top" и "left"
<div style="top: 250px; left: 250px;" id="1" class="window ui-draggable">
Какой лучший способ сделать это с помощью jQuery? Есть ли простой способ, или мне придется прибегать к строковым функциям?
Ответы
Ответ 1
Это зависит от того, что вам нужно. Если вам нужно вычисленное значение - например, фактическое значение, которое браузер использовал после разбора всех таблиц стилей - используйте
$("#element_1").css("top")
$("#element_1").css("left")
Если это значение пикселя, которое всегда будет таким, которое указано в свойстве style
, если только это не было отменено оператором !important
в таблице стилей.
jQuery docs для .css()
Если вам явно требуется значение, указанное в свойстве element style
, используйте
$("#element_1")[0].style.top
$("#element_1")[0].style.left
в отличие от .css()
, эти значения будут пустыми, если они не были указаны в свойстве style
.
(Используя ID element_1
, вы не можете иметь идентификатор с именем 1
)
Ответ 2
Вы можете использовать функцию CSS
:
var topValue = $(this).css("top"); //Change the selector to meet your needs
var leftValue = $(this).css("left"); //Change the selector to meet your needs
Ответ 3
Свойства CSS доступны через стандартные свойства DOM:
alert( $("#theElement")[0].style.top ) // "250px"
alert( $("#theElement")[0].style.left ) // "250px"
В стороне, "1"
не является допустимым идентификатором HTML-кода.
Ответ 4
используя .css(), вернет целое число + px, но вы можете легко получить хорошее чистое целое, выполнив следующее:
var yourVar = parseInt($('selector').css('top'), 10);
Ответ 5
https://developer.mozilla.org/en/DOM/window.getComputedStyle