2011-01-17 13 views
12

jQueryに関する質問があります。 liが滑っているので、今度は滑り出しているかどうかを覚えておきたいので、ブール変数slidedOutを設定したいと思います。jquery、要素に変数を追加しますか?

単純に要素に追加することはできますか?または、私は隠したdivまたは何かを要素に追加する必要がありますか?

答えて

21

これには.data()を使用できます。 jquery dataを使用して

$("#yourli").data("slidedOut", false); 
+0

データ( "slidedOut");' –

1

よう

何かがそれを行うための標準的な方法と考えられている - それを行うには他の方法のトンがありますが。

選択肢は単純です:

$("#myli")[0].slidedOut = true; 
alert($("#myli")[0].slidedOut); 
+1

あなたの例では動作しません。 '$()'を呼び出すたびに新しいオブジェクトを作成するので、同じ要素が選択されていても、プロパティを1つ設定すると他のものには影響しません。 '$( '#myli')[0] .slidedOut' *は動作しますが、ほとんどベストプラクティスではありません。 – lonesomeday

+0

ありがとうございます。あなたは大丈夫です。私はそれを更新しました。 – Aliostad

1

別のオプションは、CSSクラスを使用することです。これは、実際にデータ(フラグのみ)を保存していない場合や、これらの子やその子のデザインを変更したい場合に便利です。

  • .addClass('visited') - 必要に応じてクラスを追加します。
  • .hasClass('visited') - 要素にこのクラスがあるかどうかを確認します。あなたは `VAR値= $( "#のyourli")を使用して値を取得することができます
  • removeClass('visited')
関連する問題