4

スパンを通過し、その値を取得して、算術演算に使用できる変数に格納するjavascriptを作成しようとしています。

<span id ="Weekly" class="ServerData" data-tag="WeeklyCarSales">**30**</span>
<span id ="Monthly" class="ServerData" data-tag="DailyCarSales">**6**</span>

上記の2行に関連して、私の関数を以下に示します。この現在の設定では、結果は得られません。

function divide(n1, n2) {
    ans = n1 / n2;
    document.write(" " + ans + "<BR>");
    return ans;
}
var a = $('#WeeklyCarSales').ServerData;
var b = $('#DailyCarSales').ServerData;
divide(a, b);

私は「5」の答えを得るはずですが、何も得られません。整数/浮動小数点値を変数に強制すると、実際の算術演算が機能することはわかっています。スパン値である「30」と「6」をロックダウンするのに継続的な問題があるようです。これらの2つのスパン値を取得する方法についてのアイデアはありますか?

4

3 に答える 3

7

これでうまくいくはずです...

function divide(n1, n2) {
    var ans = n1 / n2;
    document.write(" " + ans + "<BR>");
    return ans;
}

var a = parseInt($("#Weekly.ServerData").text().replace(/\*/gmi, ""), 10)
  , b = parseInt($("#Monthly.ServerData").text().replace(/\*/gmi, ""), 10);

divide(a, b);

ここではJSFiddleが機能しています

于 2012-07-27T15:15:23.770 に答える
2

試す

function divide(n1, n2) {
    ans = n1 / n2;
    document.write(" " + ans + "<BR>");
    return ans;
} 
var a  = $('#Weekly').html().replace('*','');
var b = $('#Monthly').html().replace('*','');
divide(a, b);
于 2012-07-27T15:15:22.087 に答える
2

ここには多くの問題があります。まず、jQueryでは、('#SOMETHING')コンストラクトがIDによってDOM要素を参照します。したがって、スパン要素を参照するには、$('#Weekly')と$('#Monthly')を使用する必要があります。

次に、タグに適用されるServerDataクラス値は要素で使用可能なプロパティではないため、$('#Monthly')。ServerDataを参照しようとしても何も実行されません。

あなたが本当に探しているのは、このようにアクセスするノードのHTMLコンテンツです。

var a = parseInt($('#Weekly').html());

それらのアスタリスクが実際にあるかどうかはわかりません。それらが本当にそこにある場合は、次のようにそれらを削除する必要があります。

var a = parseInt($('#Weekly').html().replace('*', ''));
于 2012-07-27T15:17:01.247 に答える