【问题标题】:Can I ignore   when taking the data for a var?获取 var 的数据时可以忽略 吗?
【发布时间】:2019-03-11 08:20:07
【问题描述】:

我有一个表格和脚本,可以根据同一页面上存在的一个价格生成表格单元格的值。问题是当价格为> 1000 时,页面的创建方式是添加  以分隔数千。

这是价格跨度示例:

<span class="price-amount">1&nbsp;609</span>

这就是我从中获取数据作为值的方式:

var loose = parseInt(document.getElementById("price-amount").innerHTML);

这仅在 999 之前有效,因为没有 &amp;nbsp;

有没有办法忽略它或让它被识别为一个数字?

【问题讨论】:

    标签: javascript html frontend


    【解决方案1】:

    检索元素的textContent,然后用空字符串替换所有空格。 1&amp;nbsp;609 的 HTML 示例:

    var loose = parseInt(document.querySelector(".price-amount").textContent.replace(/\s/g, ''));
    console.log(loose);
    &lt;span class="price-amount"&gt;1&amp;nbsp;609&lt;/span&gt;

    输入小于 1000 的示例:

    var loose = parseInt(document.querySelector(".price-amount").textContent.replace(/\s/g, ''));
    console.log(loose);
    &lt;span class="price-amount"&gt;609&lt;/span&gt;

    【讨论】:

    • 在 1 和 6 之间仍然有一个空格,所以它不是这种格式的数字。
    • 我以为你想要1609,因为空格被添加为千位分隔符?删除空格允许您将其解析为数字 - 只需运行 sn-p
    • 是的,我希望它在数字之间没有任何空格,但是在应用您建议的更改后,脚本仍然无法正常工作。此外,当我预览您的 sn-p 时,我看到“1 609”,其中有 1 到 6 之间的空格
    • HTML 有 &amp;nbsp;,因此 HTML 将被 渲染 并带有空格(如果不更改 HTML,则无法更改),但 记录了 @底部的987654329@是1609的整数。
    • 但添加您的修复程序会破坏脚本并开始不适用于价格低于 999 的情况。此外,对于高于 1000 的情况,它也不适用于这些情况。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-09
    • 2019-03-21
    • 1970-01-01
    相关资源
    最近更新 更多