0

これが私のコードです:

var span = getSpanWithClass("galleria-current");
var slideNumber = span.innerHTML
var imageIDDivs = document.getElementsByClassName("slideshowImage");
var singleimageidDiv = imageIDDivs[slideNumber]

これを使うsigleImageidDivと何も入っていません。このように0または1を入れると、次のようになります。

var singleimageidDiv = imageIDDivs[1]

正常に動作します。私のテストケースでslideNumberは、です。1

私もこれらを試しました:

var singleimageidDiv = imageIDDivs[Number(slideNumber)]

var singleimageidDiv = imageIDDivs[parseInt(slideNumber)]

変数を配列のインデックスとして使用する適切な方法は何ですか?

4

3 に答える 3

4

基数でintに解析します。

これはそれを行う適切な方法です:

imageIDDivs[parseInt(slideNumber, 10)];

ライブデモ それが機能しない場合、あなたの問題はどこかにあります。


ところで、インデックスは文字列でも機能します。 デモ

于 2012-06-05T19:12:21.840 に答える
1

innerHTML要素内に文字列を返すため、要素内に数値がある場合でも、文字列として返されます。そのため、その変数を配列のインデックスとして使用すると、結果が得られません。parseIntを使用することは許容できる解決策です。またspan.innerHTML * 1、JSに文字列を整数として処理するように強制する、のようなことを行うこともできます。

于 2012-06-05T19:13:40.477 に答える
0

関数にエラーがあると思いますgetSpanWithClass

于 2012-06-05T19:13:47.183 に答える