自定义操作功能

时间:2011-11-11 00:19:07

标签: jquery html function javascript

我试图为我的使用创建一个小函数,假设得到所选元素的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

3 个答案:

答案 0 :(得分:4)

对于这个简单的情况,对第一个元素的内容使用eval()函数。请参阅调整版本的链接:http://jsfiddle.net/4DF3k/

答案 1 :(得分:1)

您的问题是变量的数据类型是String而不是Integer。如果您想使用+作为算术运算而不是字符串追加操作,则必须将变量转换为整数或浮点数

http://www.javascripter.net/faq/convert2.htm#parseInt

此链接会告诉您更多相关信息。

只需使用Javascript函数parseInt和parseFloat

即可

答案 2 :(得分:0)

查看jQuery Calculations插件here

对于更复杂的数学方程式和不同的操作,它应该为您提供一个很好的起点来评估选择器的$.text()

我希望这有帮助!