Javascript 从括号中的数字对中检索第一个值
我使用jQuery获取CSS转换属性: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(
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);