Подтвердить что ты не робот

JQuery получить атрибут из стиля

Мне нужно извлечь что-то из атрибута "style": атрибут "top" и "left"

<div style="top: 250px; left: 250px;" id="1" class="window ui-draggable">

Какой лучший способ сделать это с помощью jQuery? Есть ли простой способ, или мне придется прибегать к строковым функциям?

4b9b3361

Ответ 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);