Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在html中查找运算符值,将其设置为var并在javascript函数中使用?_Javascript_Jquery_Html - Fatal编程技术网

如何在html中查找运算符值,将其设置为var并在javascript函数中使用?

如何在html中查找运算符值,将其设置为var并在javascript函数中使用?,javascript,jquery,html,Javascript,Jquery,Html,我有一个跨度,读数为1+2=: <span id="num1">1</span> <span id="op">+</span> <span id="num2">2</span> = 这纯粹是出于实验原因,但我如何使用html中列出的运算符添加1+2呢?我可以将运算符设置为var并以某种方式使用它吗 我的想法是做console.log(num1+op+num2)但这没有任何作用请不要按原样使用eval()。请尝试混合和匹配运

我有一个跨度,读数为1+2=:

<span id="num1">1</span> <span id="op">+</span> <span id="num2">2</span> =
这纯粹是出于实验原因,但我如何使用html中列出的运算符添加1+2呢?我可以将运算符设置为var并以某种方式使用它吗


我的想法是做
console.log(num1+op+num2)
但这没有任何作用

请不要按原样使用
eval()
请尝试混合和匹配运算符

$(document).ready(function() {
  var num1 = parseInt($("#num1").text());
  var num2 = parseInt($("#num2").text());
  var op = $("#op").text();
  switch (op) {
    case "+":
      console.log(num1 + num2);
      break;
    case "-":
      console.log(num1 - num2);
      break;
    case "/":
      console.log(num1 / num2);
      break;
    case "*":
      console.log(num1 * num2);
      break;
  }
});

除非您使用
eval
,我严格不推荐使用(有很多原因,只需谷歌一下),否则您可以这样做:

$(document).ready(function() {

  var num1 = parseInt($("#num1").text()),
      num2 = parseInt($("#num2").text()),
      op =   $("#op").text(),
      result;

  switch(op) {
    case '+': result = num1 + num2; break;
    case '-': result = num1 - num2; break;
    case '*': result = num1 * num2; break;
    case '/': result = num1 / num2; break;
    default: /** do something else */ break;
  }

  console.log(result);

});

您需要使用eval(),即eval(num1+op+num2);干得好,谢谢!不要使用
eval()
@AronLill,您必须通过单击
按钮。有关信息,请参阅。`这就是StackOverflow的工作原理。这也很好,因为您可以使用类似^的东西映射到Math.pow或解释类似x的*。
$(document).ready(function() {

  var num1 = parseInt($("#num1").text()),
      num2 = parseInt($("#num2").text()),
      op =   $("#op").text(),
      result;

  switch(op) {
    case '+': result = num1 + num2; break;
    case '-': result = num1 - num2; break;
    case '*': result = num1 * num2; break;
    case '/': result = num1 / num2; break;
    default: /** do something else */ break;
  }

  console.log(result);

});