id
はHTMLの属性またはプロパティですか?HTML属性とプロパティ
は、私は多くの記事を読んで、まだ混乱してきました$('#selector').attr('id');
または$('#selector').prop('id');
を行う必要があります。
HTML/JSの属性&のプロパティは非常に単純な言語で表示されていますか?
id
はHTMLの属性またはプロパティですか?HTML属性とプロパティ
は、私は多くの記事を読んで、まだ混乱してきました$('#selector').attr('id');
または$('#selector').prop('id');
を行う必要があります。
HTML/JSの属性&のプロパティは非常に単純な言語で表示されていますか?
属性はHTMLで定義されます。プロパティはDOMによって定義されます。
一部のHTML属性には、プロパティへの1:1マッピングがあります。 id
はその一例です。
一部は(例えばvalue
属性は入力の初期値を指定しますが、value
プロパティは現在値を指定)しません。
常にすべての属性に対応するプロパティがありますか?属性の値とプロパティの値の間には常に1:1の最初のマッピングがありますか? –
@KevinWheeler - いいえ、いいえ。 – Quentin
はい、attrは厳密に定義されているので、html属性を対象としています。小道具は物件のためのものです。
たとえば、クラス "something"(jQueryオブジェクトではない生の要素)を持つノードelemがあるとします。 elem.classNameはプロパティですが、属性が存在する場所です。クラス属性を変更すると、プロパティも自動的に変更されます。
現在のところ、attrは両方の機能の仕事に挑戦しているので混乱し混乱しています。そのために多くのバグがあります。 jQuery.fn.propの導入により、いくつかのブロッカーが解決され、最初から分離されていたはずのコードが分離され、開発者は期待することをより速やかに実行できます。
私は、IRCサポートと他のコードを読んだ経験から、attrの使用例の95%がpropに切り替える必要はないと言います。
http://stackoverflow.com/questions/5874652/prop-vs-attr – Satpal
@Satpalこの質問は違いが何であるかを尋ねている間にリンクされ、質問はjQueryの機能の違いを求めていますHTMLのプロパティと属性の間 – Trisped