6

重複の可能性:
カスタム属性を取得するjQuery.attrは未定義を返します

私は奇妙な問題を抱えていますが、私はただ愚かなことをしていることを望んでいます。<img>jQueryを使用して要素に新しい属性を作成しようとしています。次の行は次のとおりです。

$(selector).attr('selected', 'no');

ChromeでDOMを調べると、値を何に設定しても、selected="selected"が表示されます。

いくつかの追加情報:「Yes」、「No」、および「Partial」プロパティ値を追跡する必要があるため、ブール値だけを使用することはできません。img自体の「onClick」イベントからJS関数を呼び出し、thisパラメーターとして渡します。メソッド内のオブジェクトを調べたところ、正しいオブジェクトが渡されました。属性が設定されているという事実(たとえ間違った値であっても)もこれをサポートします。

私はここで愚かなことをしていると確信しています...何かアドバイスをいただければ幸いです。

4

4 に答える 4

11

SelectedはすでにHTML標準の属性であるため、同じ名前のカスタム属性を作成することはできません。その場合、data-代わりに属性を使用してdata-selected、たとえば属性を作成する必要があります。

jQueryでは、メソッドを使用してカスタムデータ属性を処理します.data()

カスタムデータ属性については、こちらのHTML5仕様で説明されています。

于 2012-10-18T07:51:17.193 に答える
5

data-*次のようなカスタム属性を挿入できます

$(selector).data('selected', 'no');

要素がdata-selected属性を設定します

于 2012-10-18T07:51:17.523 に答える
2

要素に任意のデータを添付する必要がある場合は.data()、ではなく、を使用してください.attr()

于 2012-10-18T07:51:31.970 に答える
1

DOMプロパティはDOM属性とは異なります;)

ユースケースに使用することをお勧めし$(selector).data()ます。

于 2012-10-18T07:51:25.637 に答える