【问题标题】:Change all prices (numbers) with 20% on webpage [closed]将网页上的所有价格(数字)更改为 20% [关闭]
【发布时间】:2017-07-09 02:30:41
【问题描述】:

我有一个小型 HTML 网页,其中有很多表格显示各种商品的价格(请参见下面的示例)。

<!DOCTYPE html>
<html>
<head>
</head>
<body>
  <table border="1">
    <tr>
      <td>1</td>
      <td>Item 1</td>
      <td>$40</td>
    </tr>
    <tr>
      <td>2</td>
      <td>Item 2</td>
      <td>$20</td>
    </tr>
    <tr>
      <td>3</td>
      <td>Item 3</td>
      <td>$50</td>
    </tr>
  </table>
</body>

问题在于,我们需要某种方法,只需按一下按钮即可将所有价格替换为 20% 的折扣。我尝试在 Google 上搜索不同的选项,但无法确定这里的最佳解决方案。

如何创建某种脚本来搜索价格并将其替换为“价格 x 0.8”,或者是否有某种方法可以输入实际价格“40 美元”和折扣价“32 美元”并仅显示一个当时。

或者只是创建一个带有价格折扣的额外重复页面并链接到那个更好的解决方案?

最好的问候,亚历山大

【问题讨论】:

  • 欢迎来到 StackOverflow!请记住,Java != Javascript,它们就像汽车和地毯一样。
  • 这真的是 wordpress 吗?如果是这样,您可以运行数据库查询
  • 是的,有一种方法,javascript。至于使其工作的正确脚本,您需要提供您一直在处理的代码示例。从本质上讲,父亲是来帮助解决代码问题的,而不是为您编写代码。
  • 感谢您的回答,很抱歉使用了错误的标签 (java)!

标签: javascript php html wordpress


【解决方案1】:

以下是否有帮助:

var currentMode = 1;
var discount = 0.20;
var reverseDiscount = 1/(1-discount);

function togglePrices() {
  var prices = document.getElementsByClassName("price");
  for (var i = 0; i < prices.length; i++) {
    var individualPrice = prices[i].innerHTML.substring(1);
    
    if(currentMode == 1) {
      individualPrice = parseFloat(individualPrice) * (1-discount);
    } else {
      individualPrice = parseFloat(individualPrice) * reverseDiscount;
    }

    prices[i].innerHTML = "$" + individualPrice;
  }
  currentMode = (++currentMode) % 2;
}
<!DOCTYPE html>
<html>
<head>
</head>
<body>
  <table border="1">
    <tr>
      <td>1</td>
      <td>Item 1</td>
      <td><span class="price" >$40</span></td>
    </tr>
    <tr>
      <td>2</td>
      <td>Item 2</td>
      <td><span class="price" >$20</span></td>
    </tr>
    <tr>
      <td>3</td>
      <td>Item 3</td>
      <td><span class="price" >$50</span></td>
    </tr>
  </table>
</body>


<button type="button" onclick="togglePrices()">Toggle Discounts</button>
</body>
</html>

【讨论】:

  • 这正是我想要的,你甚至为我做了所有的工作!非常感谢:)
  • @thor:没问题。但是请确保将来您确实提供了一些代码 sn-ps。 :) 另外,请将答案标记为已接受。
猜你喜欢
  • 2019-04-14
  • 1970-01-01
  • 2013-01-09
  • 2023-03-20
  • 1970-01-01
  • 2014-07-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多