2017-12-08 6 views
0

文字列から値を取得しようとしています。querySelectorAllによって取得された文字列から値を取得する

<div class="example">sth 44.05 $</div> 

<div class="example">sth another 140.00 $</div> 

<div class="example">sth sth 100.05 $</div> 
<button onclick="myFunction()">test</button> 
<p id="values">demo</p> 

それは一つだ場合、それは簡単です:

<script> 
function myFunction() { 
var x = document.querySelector('.example').innerText; 

let number=x.match(/\d+(\.\d+)?/)[0]; 

document.getElementById('values').innerHTML = +number; 

}</script> 

しかし、私はすべてのこれらの値を取得する(し、それらをカウント)するかどうかはわかりません。同様のSTHするやろうとしているが、それは動作しません:

<script> 
function myFunction() { 
var x = document.querySelectorAll('.example'); 
var i; 
for (i = 0; i < x.length; i++) { 
    x[i].innerText; 
} 


var value = []; 
for (i = 0; i < x.length; i++) { 
    value.push(x[i].innerText); 
} 


let number=value.match(/\d+(\.\d+)?/)[0]; 

document.getElementById('values').innerHTML = +number; 

} 
</script> 

答えて

0
let number=value.match(/\d+(\.\d+)?/)[0]; 

matchあなたは、文字列の上に見つける方法です。

valueは文字列ではなく配列です。

すべての正規表現を実行するには、valueを文字列(たとえば、join)に変換する必要があります。

関連する問題