4

可能重复:
Javascript 或 jQuery 中的 Left() 函数

我有一个 div,我给出如下样式。

#MainDiv
{
    position:relative;    
    left:150px;
    right:150px;

}

#MainDiv我想根据左右参数给出这个宽度。为此,我给出如下。

$("#MainDiv").width($("#MainDiv").width() - $("#MainDiv").css("left") - $("#MainDiv").css("right"));

但是 在提醒$("#MainDiv").css("left")150px。我只想要150. 为此,我使用了offset属性$("#MainDiv").offset().left$("#MainDiv").offset().right. 左边的值是 as158而右边的值是 as undefinedoffset在这种情况下不正确?我应该如何在值的末尾删除它px并获得确切的值?

4

5 回答 5

9

做:

var left = parseInt($("#MainDiv").css("left"), 10);
于 2012-12-26T11:34:46.977 回答
3

尝试使用 jQuery position()

 $(element).position().top;
 $(element).position().left;
于 2012-12-26T11:37:22.187 回答
1
parseInt( $("#MainDiv").css("left").replace('px', '') );
于 2012-12-26T11:33:58.753 回答
0

试试这个:

$("#MainDiv").css("left").slice(0, -2);
$("#MainDiv").css("right").slice(0, -2);
于 2012-12-26T11:40:11.047 回答
0

您不需要删除 px。你的脚本是错误的。这应该可以帮助您-

演示

<div id="MainDiv"></div>

CSS

#MainDiv
{
    position:relative;    
    left:60px;
    right:50px;
    border:1px solid;
    height:10px;
    background-color: yellow;
}

jQuery

$("document").ready(function() {
    $("#MainDiv").width(parseInt($("#MainDiv").css("left")) - parseInt($("#MainDiv").css("right")));
});
于 2012-12-26T11:53:18.097 回答