从括号中的数字对中检索第一个值

时间:2012-10-02 19:29:33

标签: javascript jquery css

我正在使用jQuery来获取CSS转换属性:

this.$slider.css('transform')

以下内容返回:

translate(100px, 0px)

如何使用javascript或jQuery将数字100作为变量?

6 个答案:

答案 0 :(得分:4)

使用javascript字符串函数:

str = this.$slider.css('transform');
a = str.substring(str.indexOf('(')+1,str.indexOf('px'));
alert(a); //100

答案 1 :(得分:3)

你可以使用正则表达式:

'translate(100px, 0px)'.match(/[^\(]+\(([0-9]+)/)[1]

答案 2 :(得分:1)

var transform = this.$slider.css('transform'),
    first = transform.split('(')[1].split('px')[0];

答案 3 :(得分:1)

一个小的正则表达式只需要拉第一个数字,但请注意,这不是挑剔,因为它们是像素单位或可能在CSS中返回的任何其他内容

this.$slider.css('transform').match(/\d+/)

答案 4 :(得分:0)

s = "translate(100px,0px)"
parseInt(s.substring(s.indexOf("(")+1), 10) // returns 100

答案 5 :(得分:0)

只需从索引10开始切片,然后通过parseInt发送。

var str = this.$slider.css('transform');

var n = parseInt( str.slice(10), 10 );

或者如果有其他类型的结果而不是变换,您可以这样做:

var n = parseInt( str.split("(")[1], 10);