-3

你好,我有一个这样的 div:

<div>1+1</div>

如何将这些 '1+1' 获取到 javascript 并将它们计算为 '2'?提前致谢!

4

4 回答 4

2

您可以通过javascript使用元素的innerHTML属性来提取值:

document.getElementById("div").innerHTML

然后使用 eval() 方法计算数学表达式:

var exp=document.getElementById("div").innerHTML;
alert(eval(exp));
于 2013-09-29T06:50:01.447 回答
0

您需要以某种方式识别此 div,例如

<div id="div-with-expression">1+1</div>

代码如下:

console.log(eval(document.getElementById('div-with-expression').innerText));
于 2013-09-29T06:45:13.473 回答
0

您可以使用eval

var equation = getElementById(IdOfDiv).innerHTML;
var result = eval(equation);
于 2013-09-29T06:45:26.043 回答
0

好吧,您可以使用 Javascript eval() 函数: http ://www.w3schools.com/jsref/jsref_eval.asp

但是,eval 函数可能会将恶意代码引入您的环境。

我不确定您开始的目的是什么以及您对该输入的假设是什么,但这是使用正则表达式的另一种方法,尽管它更复杂:

var myRegexp = /(\d+)(\+)(\d+)/;
var match = myRegexp.exec("1+1");
// parseInt(match[0]) == 1 ,as an Int
// match[1] = '+', you could figure what operand this is with 'if else' conditions
// parseInt(match[2]) == 1 ,as an Int
于 2013-09-29T06:48:25.710 回答