これは、その''の内部HTMLから数値を抽出するために機能します。
/[0-9.]+/
問題の他の部分は、価格が含まれるHTMLを取得することです。より完全な例を次に示します。
<html>
<head>
<script>
function toggle(e,id) {
val = parseFloat(e.innerHTML.match(/[0-9.]+/));
// Another method:
// val = parseFloat(e.innerHTML.match(/\$([0-9.]+)/)[1]);
alert(val);
}
</script>
</head>
<body>
<table border=1><tr>
<td headers="fee" style="cursor:pointer;" onclick="toggle(this,'detailinfo088180');">
$675.04
</td>
blabla<br><em>$650</em>">blabla/a>
</td>
</tr>
</table>
</body>
</html>
次の点に注意してください。
- この
toggle()
関数は、実際にクリックされた要素である追加のパラメーターを取ります。(クリックした要素から価格を抽出したい場合)
- これが必要な場合に備えて、より制限的な(番号の前に「$」を付ける必要がある)別の正規表現を提供しました。この式は、キャプチャ( "
(..)
")を使用して文字列を照合し、文字列全体ではなく文字列の一部を抽出します。
正規表現がどのように機能するかについて詳しく知りたい場合は、こちらをお試しください。またはGoogle。