在jquery中使用px获取左,右值

时间:2012-12-26 11:31:39

标签: jquery

  

可能重复:
  Left() function in Javascript or jQuery

我有一个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。左侧值为158,右侧为undefinedoffset在这种情况下不正确?如何在值的末尾删除px并获取确切的值?

5 个答案:

答案 0 :(得分:9)

做的:

var left = parseInt($("#MainDiv").css("left"), 10);

答案 1 :(得分:3)

尝试使用jQuery position()

 $(element).position().top;
 $(element).position().left;

答案 2 :(得分:1)

parseInt( $("#MainDiv").css("left").replace('px', '') );

答案 3 :(得分:0)

试试这个:

$("#MainDiv").css("left").slice(0, -2);
$("#MainDiv").css("right").slice(0, -2);

答案 4 :(得分:0)

您无需删除px。你的脚本错了。这应该可以帮助你 -

DEMO

<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")));
});