Javascript或jQuery中的Left()函数

我只想要一个非常方便的方法从Javascript中提取字符串中的数字,我正在考虑使用jQuery,但我更喜欢被certificate是最简单的方法。 我已经使用jQuery请求了css块的“left”属性,如下所示:

var stuff = $('#block').css("left") 

“东西”的结果是

 1008px 

我只是想摆脱“px”,因为我需要做一个parseInt。 什么是最好的方法? 如果Javascript有一个left()函数,这将非常简单。 谢谢

只需做一个parseInt("1008px", 10) ,就会忽略’px’。

要回答你的另一个问题,你可以在JavaScript的内置String prototype类中添加一个left()函数,这样所有其他字符串都会inheritance它:

 String.prototype.left = function(n) { return this.substring(0, n); } 

一旦你包括这个,你可以说:

 var num = "1008px".left(4); 

我添加了像trim一样的帮助器,并在这些类型的基础JavaScript文件中capitalize

$(’#block’)。offset()。left包含实际的左位置值作为整数。

 parseInt(stuff); 

Left()在这里几乎没用,因为你首先要计算偏移量。 但是,您可以使用正则表达式来提取数字或删除非法字符:

 var value = "1080px"; var num = value.replace(/[^\d]+/g, ''); // or var num = value.replace(/\D+/g, ''); // or var num = value.match(/\d+/)[0]; 

也就是说,如果parseInt()对你来说还不够…… 🙂

如果你想拥有没有‘px’的那个号码,试试看:

$('#block').position().left

这对JQuery来说最简单)