この投稿は、JS のスパン値に関して行った以前の投稿の続きです。以下の行では、Chrome で Javascript コンソールを開くと、タグの終了付近に値が表示されます。それらがそれぞれ20と10であるとしましょう。ただし、これらの値は実際の html コードにはありません (以下に示すように)。私のjavascript関数では、スパン値を「抽出」して分割し、値を返そうとしているだけです。結果として「NaN」を取得し続けます。関数が数値を返すために何かを型キャストする必要がありますか?
注: 値はヒストリアン「PI」から読み込まれます
<span id ="LineSpeedGE" class='PIData' data-tag='G2LineSpeedGE'></span> (value of 20)
<span id ="AimPsSpd" class='PIData' data-tag='G2rCurrentAimPsSpd'></span> (value of 10)
JS 関数:
function divide(n1,n2)
{ ans = n1/n2;
document.write(" "+ans+"<BR>");
return ans;
}
var a = parseInt($("LineSpeedGE.PIData[data-tag]").data("tag"), 10);
var b = parseInt($("AimPsSpd.PIData[data-tag]").data("tag"), 10);
divide (a, b);
結果として、予想される「2」ではなく NaN が返されます。通常の整数を変数に代入すると、実際の除算は問題ありません。HTMLコードに表示されないスパンの実際の値を「キャプチャ」するのに問題があるようです。データ型が衝突していると思われますか?
私の元の投稿へのリンクは次のとおりです。