[英]how do i lookup an operator value in html, set it as a var and use it in a javascript function?
我的跨度为1 + 2 =:
<span id="num1">1</span> <span id="op">+</span> <span id="num2">2</span> =
我有一个JavaScript函数:
$(document).ready(function() {
var num1 = parseInt($("#num1").text());
var op = $("#op").text();
var num2 = parseInt($("#num2").text());
console.log(num1 + op + num2); //doesnt work
});
这纯粹是出于实验原因,但是我将如何使用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
,否则我绝对不建议您使用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);
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.