获取两个跨度内的数字并进行计算?

时间:2016-02-25 12:54:03

标签: javascript jquery html

我正在使用wordpress插件将一些数字输出到span元素中。 我想获取这些span元素的值并将其与另一个分开,然后在站点的某处显示结果。 我对javascript了解不多,并且已经在线尝试了一些样本,但无法让它们运行起来。谁能解释一下如何做到这一点?

另请注意,这些span元素没有自己的ID,因为这是在插件中使用,我无法直接编辑它们,因此我需要像这样定位它们以便定位每个范围个别地:

.container1 .tooltip span
.container2 .tooltip span

3 个答案:

答案 0 :(得分:1)

如果值不具有小数,则可以使用echo preg_replace("/\s*(\([^)]+\)|\-\w+)/","","Ashirwad Estate, Goregaon (w), Mumbai");

parseInt()

如果值包含小数,则使用var a = parseInt($('.container1 .tooltip span').text(), 10); var b = parseInt($('.container2 .tooltip span').text(), 10); console.log(a - b);

parseFloat().toFixed(2);

前缀var a = parseFloat($('.container1 .tooltip span').text()).toFixed(2); var b = parseFloat($('.container2 .tooltip span').text()).toFixed(2); console.log(a - b); 也可以将字符串编号+值更改为编号"0"而不是0

"$0"

如果您添加有关工具提示的详细信息,可以回答更多问题。

答案 1 :(得分:0)

你需要从每个元素中取.value,然后使用这样的函数将它们分开,将结果提供给一个新元素:

function divideBy() { 
    num1 = document.getElementById("firstNumber").value;
    num2 = document.getElementById("secondNumber").value;
    document.getElementById("result").innerHTML = num1 / num2;
}

Check out this demo

答案 2 :(得分:0)

您应该遵循以下代码段:

  1. 收集值
  2. 与他们做点什么
  3. function SumCtrl() {
      var resultView = document.getElementById('result');
      
      var values = (function(nodeList) {
        if(!nodeList) { return []; }
        var res = [];
        
        for (var i = nodeList.length >>> 0; i--;) { 
          res[i] = nodeList[i].textContent;
        }
        
        return res.map(function(i) { return Number(i) || 0; });
      })(document.querySelectorAll('div span'));
      
      resultView.innerHTML = values
        .reduce(function(a, b) {
          return a + b;
        });
    };
    
    document.addEventListener('DOMContentLoaded', SumCtrl);
    <h1 id="result"></h1>
    
    <div class="something">
      <span>1</span>
    </div>
    <div class="something1">
      <span>2</span>
    </div>
    <div class="something2">
      <span>3</span>
    </div>
    <div class="something3">
      <span>4</span>
    </div>