我试图为我的使用创建一个小函数,假设得到所选元素的Text。如果元素中的Math in是我的函数,则假设要进行数学运算并附加到您选择的元素的答案。
我非常简单的功能是:
function op2(id, end){
var he = $(id).text();
$(end).html(he);
}
这将使用如下:
function la() {
op2('#default', '#here');
}
使用以下html:
<div id="default">10+3</div>
<div onclick="la();">Test</div>
<div id="here"></div>
这是问题所在,当它假设要添加它所做的全部是将10 + 3添加到元素#here
而不是显示13
。
我知道问题是浏览器会将#default
的文字添加到#here
这样的'10+3'
,但我不知道如何更改它。
以下是demo
答案 0 :(得分:4)
对于这个简单的情况,对第一个元素的内容使用eval()函数。请参阅调整版本的链接:http://jsfiddle.net/4DF3k/
答案 1 :(得分:1)
您的问题是变量的数据类型是String而不是Integer。如果您想使用+作为算术运算而不是字符串追加操作,则必须将变量转换为整数或浮点数
http://www.javascripter.net/faq/convert2.htm#parseInt
此链接会告诉您更多相关信息。
只需使用Javascript函数parseInt和parseFloat
即可答案 2 :(得分:0)