Warning: session_start(): open(/home/var/php/e/o/sess_eovj2q0da9uemnej1e7er6o422, O_RDWR) failed: No such file or directory (2) in /home/users/web07/2/1/0219112/phyokin/devlog/controllers/controller.php on line 15

Warning: session_start(): Failed to read session data: files (path: 2;/home/var/php) in /home/users/web07/2/1/0219112/phyokin/devlog/controllers/controller.php on line 15
devlog
MW211 EXIT

devlog
jQuery/.attr()と.prop()の違い
2012年08月29日
毎度、毎度、混乱すると「.attr('disabled', 'disabled');」
「.prop('disabled', true);」の違い。

いい加減まとめておかねば、また混乱しそう。

まずjQuery1.6で「.prop()」が追加されたらしい。

inputタグとかでは、「.attr('value')」は初期値(既定値)を取得するけど
「.prop('value')」は入力中の値を取得できるらしい。

ま、これが両者の個性を端的に示す一例ってことだろう。

ま、当初は明確に分離しようとしてたらしいけど反発をくらって
「.attr()」が後方互換を維持することになり、
「.attr()」⊃「.prop()」ってことらしい(だからややこしい)。

基本、HTML属性は「.attr()」、JavaScriptプロパティは「.prop()」って
覚えればいいらしく、「.attr('disabled', 'disabled');」より
「.prop('disabled', true);」が推奨みたい。

う~ん、disabledってHTML属性じゃないのか。。。?

あ、動的に変化するやつ、させるやつは「.prop()」なんだ。

静的=「.attr()」、動的=「.prop()」なのだね、納得。
分類:jQuery