获取标记值并使用jquery进行算术运算

时间:2016-02-12 03:38:21

标签: javascript jquery html jquery-selectors

这可能听起来很荒谬,但我真的想知道这是否可能,以及如何做到这一点。 这是我第一次在StackOverflow中询问,因为我在这里学习如何使用样式进行编码,肯定会有像我这样的人的问题。谢谢你让我觉得如果Stackoverflow是我的家。

我们问一下。

我正在制作一个PHP脚本,比唐纳德特朗普开始讨厌奥利奥的饼干更快。

脚本将其打印为代码 HTML

<strong>$</strong><h1>1800</h1>USD
<strong>$</strong><h1>800</h1>USD

所以,这是疯狂的情况发生的时候...... 惠特Jquery我想采取两个h1元素,我想做他们的aritmetic操作。我知道,我可以用php和mysql做到这一点。但是关于时间,我更喜欢用jQuery做这件事。

¿有人可以帮助我吗? 疯狂且非常简单的例子:

H1 + H1 H1 - H1 = 操作的结果。

6 个答案:

答案 0 :(得分:0)

您可以使用jquery .each(function(){})来迭代并找出每个h1标记中的文本。对于演示,我将它们放在数组中并可以应用任何数学运算

var a=[];
$('h1').each(function(){
   var tempText = $(this).text().trim(); // Remove white space
   console.log(tempText)
   a.push(tempText)
})

修改 使用parseInt将其转换为整数

`var tempText = parseInt($(this).text().trim());` // Converts to integer

所以a现在将是一个整数数组

Example

答案 1 :(得分:0)

你好,你可以这样做吗

var sum = 0;
$('h1').each(function(k,v){
    sum += parseInt($(v).text())
})
console.log(sum)

答案 2 :(得分:0)

如果您想获得总和,可以使用以下代码:

var total = 0;
$("h1").each(function(index, item) {
  total += Number($(item).text());
});
alert(total);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<strong>$</strong><h1>1800</h1>USD
<strong>$</strong><h1>800</h1>USD

答案 3 :(得分:0)

疯狂而且非常简单:

  $("strong")
     .next("h1")
     .get()
     .map(function(el){
       return $(el).text();
     })
     .reduce(function(a,b){
       return parseInt(a)+parseInt(b);
     })

[https://jsfiddle.net/hLwxrpoq/]

答案 4 :(得分:0)

尝试使用.eq()缓存h1元素,.html()返回结果; +运算符将文字投射到Number

&#13;
&#13;
// select all `h1` elements
var h = $("h1");
// results
var result = $("#result");
// first `h1`
var first = h.eq(0).text();
var second = h.eq(1).text();

result.html(function() {
  var add = +first + +second;
  var subtract = +first - +second;
  return "Add first `h1` to second `h1`:" + add 
  + "<br>Substract second `h1` from first `h1`:" + subtract
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">
</script>
<strong>$</strong><h1>1800</h1>USD<br>
<strong>$</strong><h1>800</h1>USD<br>
<br>
<div id="result"></div>
&#13;
&#13;
&#13;

答案 5 :(得分:0)

使用.text()检索HTML的内部文本,并使用parseInt将其解析为整数,正如上面其他人所解释的那样。

然后,您可以将其附加到HTML。

您的HTML可能如下所示:

<div id="math">
  <h1>800</h1>
  <h1>1800</h1>
</div>
<h1 id="answer"></h1>

你的jquery是这样的:

var math = $("#math"); //Get the math element
var numbers = math.find('h1'); //Get all the numbers from the math div
var answer = $("#answer"); //Get the element
var total = 0;

numbers.each( function() {
    total += parseInt( $(this).text() ); // Add each number together
});

answer.append( total ); // Append the total to the answer element

这是一个小提琴。

https://jsfiddle.net/75qxy57d/1/