2011-11-11 1 views
2

私の使用のために、選択した要素のテキストを取得すると思われる小さな関数を作成しようとしています。要素が私の関数よりも数学を持っている場合は、数学を行い、あなたが選んだ要素の答えに追加すると仮定します。カスタムオペレーション機能

私は本当に簡単な関数は次のとおりです。

function op2(id, end){ 
     var he = $(id).text(); 
     $(end).html(he); 
} 

これは、このように使用される次のHTMLを

function la() { 
op2('#default', '#here'); 
} 

<div id="default">10+3</div> 
<div onclick="la();">Test</div> 
<div id="here"></div> 

そのこれは、問題です追加すると仮定すると、01を表示する代わりに、要素#hereに10 + 3を追加するだけです。

ブラウザが#defaultのテキストを#hereに追加するのは、'10+3'ですが、それを変更する方法はわかりません。ここ

は、最初の要素の内容にはeval()関数を使用して、この単純なケースではdemo

+1

'.text()'の結果を調べ、その中の数式を見つけ、それらの式を評価し、結果のテキストを出力に入れるために、独自のコードを書く必要があります。 jQueryはあなたのためにその部分をしません。 – jfriend00

答えて

4

あります。調整されたバージョンのリンクを参照してください:http://jsfiddle.net/4DF3k/

+0

+1とベストアンサー!素晴らしい、クール!ありがとう – Shawn31313

1

あなたの問題は、変数のデータ型は文字列であり、整数ではないということです。あなたの代わりに文字列の演算として+を使用するように操作を追加したい場合、あなたは整数にあなたの変数をキャストするか、あなたはそれについての詳細を教えてくれます

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

このリンクを浮遊しなければなりません。

は単にhereプラグインjQueryの計算を見てみましょうJavascriptの関数のparseIntとparseFloatは

0

を使用しています。

より複雑な数学的方程式と異なる演算の場合は、セレクタの$.text()を評価するのに適しています。

こちらがお役に立てば幸いです。

関連する問題