ImageMagickでPDFをPNGやJPEGに変換する。言われたら括弧の確認をしよう。久しぶりのReactアプリでLinkがRouterの外で使われている、と言われる。TypeScriptのESLintルールをカスタマイズしたり、Airbnbのやつを導入するぞ。undefinedで失敗するやつ、name設定で解決した。Firebaseのfirestore.indexes.jsonの書式とかインデックスの作り方とかで戸惑った。Reactで既存HTMLのプロパティを受け取るのにComponentPropsWithRefが使える?Edgeでiframe内でウェブフォントが使えないかもしれない問題を踏んだ。Chromeで音声認識する例。JPEG/Exif画像の回転情報を取れるやつ作った。※スマホ対応はしてません。.prop()に親しんでくれるといいなーと思って書きました。Web※この記事にはHTTPS版のURLがあります。よろしければそちらをご利用ください。https://ginpen.com/2011/10/12/jquery-attr-prop/もちろん、そうでない方にも親しんで頂きたいと思います。最近この記事が話題のようです。.attr()仕様変更がらみの話で、うちの「jQuery1.6のattr()で困ったら、1.6.1にすればいいみたい。」の記事へリンクされていました。この記事はちょっと中身が細かくて、ぱぱっと理解するのは難しいんじゃないかなあと思って、この記事を書いています。どこまでご理解頂けるかはわかりませんが、あっちの記事よりは読みやすいはず。感もないではないですが......。.prop()に分割しました。そのまま動くコードもあれば動かないコードもあります。.attr()で今まで通りの動きをするように戻す修正が行われる事となりました。.prop()を分けたの?もともと別物であるべきだった一緒に扱おうとして、バグが多くなってしまっていたこれはjQuery開発者の都合です。.prop()的なものは別物です。別物だったのですが、jQueryではその違いを隠して、同じに扱えるようにしていました。ところが元々違うものを同じように扱うという事に無理があり、最近はそのあたりの処理にバグが多くなってきてしまいました。そこで、バージョン1.6で思い切って分割して、シンプルにしてしまおう!という考えになったようです。(詳細追ってないので間違ってるかもしれません。)しかし「今までのものが動かない」つまり互換性がないという事で、多くの混乱をもたらす結果となりました。.attr()の処理を修正し、今までコードのままでも動くようにしたのが、バージョン1.6.1です。(といっても、これもまた不完全だったりするようですが......。.prop()は何が違うの?.attr()はHTMLの属性を扱う.prop()はJavaScriptプロパティを扱う両者には同じ名前で違うものがある(まぎらわしい!)この二つのメソッドは扱う情報が違います。.prop()はJavaScriptのプロパティ(property)を扱うためのメソッドです。ここで混乱しがちなのが、属性とプロパティで「同じようだけど違うもの」があるという事です。顕著な例はリンク先URLの扱いです。こんなHTMLがあったとします。href="#comments">コメント一覧</a>何の事はない、ページ内ジャンプのリンクです。.prop()のどちらでも取得できる(!)のですが、結果が異なってきます。Σ(°д°;)実は「属性」として得られるものは、あくまでHTMLとして記述した「属性」の内容です。あなたがhref="http://..."と書いていれば、その通りに取得できます。「プロパティ」というのは、JavaScriptが扱うための情報です。この情報はHTMLに記述された内容と常に一致するとは限りません。ひとつ、顕著な例を挙げます。チェックボックスのcheckedについてです。/>チェックボックスです。チェックが付いていますね。このcheckedの値を確認します。trueま、また全然違うものが......。画面のチェックボックスをクリックしてチェックを外します。false.attr()の方は変わっていませんね......。.prop()を使う必要があります。いかがでしょう、予想できましたか。※なおchecked属性の値が何故checkedという文字列になるか、という話はHTMLの話になるので割愛します。簡単に言うと、checkedやselectedといった値のない属性の値は、属性の名前と同じになります。.prop()の使い分けってどうやって見分けよう?まあ勘ですよね......。JavaScriptに明るくなれば大して悩まなくなるとは思います。.prop()を、でしょうか。詳しく過去の記事の方が詳しいので、興味ある方はどうぞ。jQuery1.6のattr()で困ったら、1.6.1にすればいいみたい。.prop()のどちらをつかうべきかの一覧表なんかもあるので、そこだけでもチラ見しておくと役立つ事があるかもしれません。自分のツイートを客観的に見られるツールを作りました。1.0を公開しました。