0

#Browse変数isOpenをtrueまたはfalseに切り替えるdivのクリックイベントにアタッチされた関数があります。別のクリックイベントには、次のステートメントがあります

alert($("#Browse").attr('isOpen'));
alert(document.getElementById('Browse').isOpen);

最初のものは「未定義」を生成し、2番目のものはtrueまたはfalseを示し、正しいです。jQueryを使用してisOpenの値を取得するにはどうすればよいですか?

4

4 に答える 4

1

データ属性を使用して、データの設定と取得の両方を行います。

// to set
$("#Browse").data('isOpen', true)

// to get
$("#Browse").data('isOpen')

ドキュメンテーション

于 2012-07-17T15:25:55.510 に答える
1

isOpenアドホックプロパティであるため、これを行うための「jQueryの方法」はありません。プロパティの設定方法を変更できる場合は、Chrisの回答の推奨事項に従ってください。

それ以外の場合、取得できる最も近い方法は、jQueryを使用してDOM要素を取得し、それをアンラップすることです。

alert($("#Browse")[0].isOpen);
于 2012-07-17T15:26:56.080 に答える
0

新しいバージョンのjQueryでは、これを取得するためにを使用する必要があります.prop

alert($("#Browse").prop('isOpen'));
于 2012-07-17T15:30:12.823 に答える
-1

jQueryのdom要素にアクセスするには、jQueryコレクションのインデックスで要素を取得する必要があります。IDを使用すると、コレクションに要素が1つしかないことが望ましいので、次を使用できます。get(0)

$('#Browse').get(0).isOpen;

jQuery要素の属性をより便利に設定するには、dataメソッドを使用するだけです

于 2012-07-17T15:27:47.443 に答える