Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从括号中的数字对中检索第一个值_Javascript_Jquery_Css - Fatal编程技术网

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

Javascript 从括号中的数字对中检索第一个值,javascript,jquery,css,Javascript,Jquery,Css,我使用jQuery获取CSS转换属性: this.$slider.css('transform') 报告如下: translate(100px, 0px) 如何使用javascript或jQuery将数字100作为变量?您可以使用正则表达式: “翻译(100px,0px)”。使用javascript字符串函数匹配(/[^\(]+\([0-9]+)/)[1]: str = this.$slider.css('transform'); a = str.substring(str.indexOf(

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

this.$slider.css('transform')
报告如下:

translate(100px, 0px)
如何使用javascript或jQuery将数字100作为变量?

您可以使用正则表达式:


“翻译(100px,0px)”。使用javascript字符串函数匹配(/[^\(]+\([0-9]+)/)[1]

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

一个小的正则表达式就足以提取第一个数字,但请注意,这并不挑剔它们是像素单位或CSS中可能返回的任何其他单位

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

只需从索引10开始取一个切片,然后通过
parseInt
发送即可

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

var n = parseInt( str.slice(10), 10 );
或者,如果存在转换以外的其他类型的结果,则可以执行以下操作:

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

var currentTrans=this.$slider.css('transform');console.log(currentTrans.match(/[^(+([0-9]+)/)[1]);返回错误“type error…is null”可能是因为没有css转换,您应该检查match是否返回数组
m=currentTrans.match(/[^(+[0-9]+)/);如果(m){m[0];}否则{/*没有转换*/}
效果很好,但如果数字为负数,则不包括在内
var str = this.$slider.css('transform');

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