首先,我是 JavaScript 新手。为了让它发挥作用,我一直在拉扯我的头发。我尝试了很多不同的方法,但就是无法使其发挥作用。我想要做的是使用 JavaScript 从 HTML 文档中提取一个值,并将该值保存在:<div class="sum">Sum of order: <b>530 SEK</b></div>
。我想要获取的是整数 530,并将其剥离为其他所有内容。
HTML:
<div class="order">
<div id="departDate">
<div><b>Departing:</b></div>
<div>2015-08-08</div>
</div>
<div id="returnDate">
<div><b>Returning:</b></div>
<div>2015-08-16</div>
</div>
<div><b>Tickets</b></div>
<table>
<tbody><tr>
<td class="first">Adult(s)</td>
<td>1 x</td>
<td>530 SEK</td>
</tr>
<tr class="noborder">
<td colspan="3">
<table>
<tbody><tr>
<td id="people102" class="query first" style="font-size: 11px;">Test Testsson</td>
<td id="info102" class="query text-red" style="font-size: 11px;"></td>
</tr>
</tbody></table>
</td>
</tr>
<tr>
<td class="first">Children:</td>
<td>3 x</td>
<td>0 SEK</td>
</tr>
<tr class="noborder">
<td colspan="3">
<table>
<tbody><tr>
<td id="people9999" class="query first" style="font-size: 11px;"></td>
<td id="info9999" class="query text-red" style="font-size: 11px;"></td>
</tr>
</tbody></table>
</td>
</tr>
</tbody></table>
<div class="sum">Sum of order: <b>530 SEK</b></div>
<div class="vat">VAT 6%: 30 SEK</div>
</div>
我一直在想我会尝试做的就是捕获 <b>
值通过document.getElementsByTagName("b")[3];
但当我尝试解析它或使用正则表达式替换它时,它不起作用。我正在尝试做的事情的完整示例:
function my(){
var b = document.getElementsByTagName("b")[3];
var str = b.toString().replace(/[^0-9]/g, '');
var x = str.parseInt();
return x }
my();
这表明 str.parseInt 不是一个函数。如果我用以下内容删除该部分:
function my(){
var b = document.getElementsByTagName("b")[3];
var str = b.toString().replace(/[^0-9]/g, '');
//var x = str.parseInt();
return str }
my();
它返回[object HTMLElement]
。我应该如何继续检索该值,将其从除数字之外的所有内容中剥离并用任何内容替换,然后返回其值?阅读其他关于检索字符串并将其提取为整数的帖子是我尝试这些事情的原因。我知道我想做什么,只是不具备完成它的技术专业知识。
如果我这样做
var b = document.getElementsByTagName("b")[3];
console.log(b)
我得到<b>530 SEK</b>
。我怎么不能用它工作呢?
最佳答案
有两个问题:
- 使用dom元素的文本内容
- 使用全局
parseInt
函数
1.您必须使用 dom 元素的文本内容:
var str = b.textContent.replace(/[^0-9]/g, '');
2. parseInt
是一个全局函数,而不是成员函数。
所以而不是
var x = str.parseInt();
使用
var x = parseInt(str, 10);
关于javascript - 使用 getElementByTagName 检索 b 的值并将其设为整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31292868/