Sau*_*mar 34 javascript jquery
我在javascript中有一个元素,如下所示:
<span>280ms</span>
Run Code Online (Sandbox Code Playgroud)
我想从span元素中提取280.我该怎么做?span元素中的内容将是任何数字,后跟ms.
Ale*_*yne 74
parseInt() 很甜蜜.
HTML
<span id="foo">280ms</span>
Run Code Online (Sandbox Code Playgroud)
JS
var text = $('#foo').text();
var number = parseInt(text, 10);
alert(number);
Run Code Online (Sandbox Code Playgroud)
parseInt()将任何字符串作为数字处理,并在到达非数字字符时停止.在这种情况下,m在280ms.找到数字2后8,和0,将这些数字计算为基数10(第二个参数)并返回数值280.请注意,这是一个实际数字而不是字符串.
编辑:
@Alex Wayne的评论.
只需先过滤掉非数字字符.
parseInt('ms120'.replace(/[^0-9\.]/g, ''), 10);
Run Code Online (Sandbox Code Playgroud)
Mrc*_*ief 18
试试这个:
var num = document.getElementById('spanID').innerText.match(/\d+/)[0];
Run Code Online (Sandbox Code Playgroud)
jQuery版本:
var num = $('span').text().match(/\d+/)[0]; // or $('#spanID') to get to the span
Run Code Online (Sandbox Code Playgroud)
如果您想要数字值(而不是字符串),请使用parseInt:
var num = parseInt($('span').text().match(/\d+/)[0], 10);
Run Code Online (Sandbox Code Playgroud)
Jar*_*Par 11
请尝试以下方法
var strValue = // get 280m from the span
var intValue = parseInt(strValue.match(/[0-9]+/)[0], 10);
Run Code Online (Sandbox Code Playgroud)