2012-03-23 2 views
2

私はこれをやろうとしている:インデックスの数の変数を渡す()または等量()

$('li').eq(newCurrent).addClass('current'); 

私が試したインデックスは、()だけでなく、私は確かに何かが欠けています。私は、ユーザーがクリックしたリスト項目である 'newCurrent'変数を、これが最後のステートメントである関数の引数として渡しています。

「newCurrent」が、指定したい順序のないリストの適切な数/インデックスであることを確認する直前の警告です。

私は複数のセレクタで.addを使って遊んでいましたが、どういうわけか...止まっていますか?

+0

そうだね。もう少しコードを投稿できますか? – elclanrs

+0

'newCurrent'とは何ですか?どこから来たのですか?それは文字列か数字か要素かjQueryオブジェクトですか? – jfriend00

+0

がこの問題に遭遇しましたが、どちらの形式でも明示的なint(1)以外のものを受け入れることはできません。 – woodscreative

答えて

0

ここでは、この

$('li:eq('+newCurrent+')').addClass('current'); 
+1

'newCurrent'が数値であると仮定すると、これはOPが既に持っているものと異なる結果にはなりません。 – jfriend00

+0

@ jfriend00:これは、 'newCurrent'が文字列の場合、別の文字列に追加され、jQueryによって整数として解析されるため、この問題を回避できます。それは実際には問題の根源には達しませんが、症状を解決する可能性があります。 –

+0

それでは、おそらく解決策がその問題を解決する理由について、あなたの答えに少しの説明を加えるべきでしょう。 'newCurrent'がすでに数値である場合、これは何も変わりません。 – jfriend00

6

を行うことができますが、それはnewCurrentが文字列であることは可能ですか?もしそうなら、あなたは整数に変換する必要があります。

$('li').eq(parseInt(newCurrent, 10)).addClass('current'); 

parseInt(newCurrent, 10)は10進の整数に数値文字列を変換します。

+1

radix引数の場合+1。 –

関連する問題