jQuery得到的属性超出了样式

时间:2010-08-23 21:57:31

标签: javascript jquery css

我需要从“style”属性中提取一些东西:“top”和“left”属性

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

使用jQuery执行此操作的最佳方法是什么?有一种简单的方法,还是我必须求助于字符串函数?

5 个答案:

答案 0 :(得分:35)

这取决于你的需要。如果你需要计算值 - 例如解析所有样式表后浏览器使用的实际值 - 使用

$("#element_1").css("top")
$("#element_1").css("left")

如果它是一个像素值,那么总是将是style属性中指定的值 - ,除非被样式表中的!important语句覆盖

jQuery docs for .css()

如果显式需要元素的style属性中指定的值,请使用

$("#element_1")[0].style.top
$("#element_1")[0].style.left

.css()不同,如果未在style属性中指定这些值,则这些值将为空。

(使用ID element_1,您不能拥有名为1

的ID

答案 1 :(得分:4)

您可以使用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

答案 2 :(得分:1)

可以通过标准DOM属性访问CSS属性:

alert( $("#theElement")[0].style.top ) // "250px"
alert( $("#theElement")[0].style.left ) // "250px"

另外,"1"不是有效的HTML元素ID。

答案 3 :(得分:1)

使用.css()将返回一个整数+ px,但是你可以通过这样做轻松得到一个漂亮的整数:

var yourVar = parseInt($('selector').css('top'), 10);

答案 4 :(得分:0)