ImageMagickでPDFをPNGやJPEGに変換する。言われたら括弧の確認をしよう。久しぶりのReactアプリでLinkがRouterの外で使われている、と言われる。TypeScriptのESLintルールをカスタマイズしたり、Airbnbのやつを導入するぞ。undefinedで失敗するやつ、name設定で解決した。Firebaseのfirestore.indexes.jsonの書式とかインデックスの作り方とかで戸惑った。Reactで既存HTMLのプロパティを受け取るのにComponentPropsWithRefが使える?Edgeでiframe内でウェブフォントが使えないかもしれない問題を踏んだ。Chromeで音声認識する例。JPEG/Exif画像の回転情報を取れるやつ作った。※スマホ対応はしてません。jQuery1.6のattr()で困ったら、1.6.1にすればいいみたい。jQuery※この記事にはHTTPS版のURLがあります。よろしければそちらをご利用ください。1.6がリリースされましたが、案の定.attr()関連で議論になったようで、一週間後に後方互換を保つ更新が行われました。Released1.6の更新内容は先日の記事をご覧頂ければ。jQuery1.6の更新内容をまとめたよ。1.6では.prop()メソッドの追加と.attr()メソッドの変更があり、これが「属性」と「プロパティ」の差、及び関係性についての議論を引き起こしました。結果として、1.6.1では後方互換を保つよう修正される事になりました。1.5.2から(1.6を飛ばして)1.6.1へバージョンアップする際は、.attr()関連のコードは変更が不要です。.date()の方は1.6のリリースノートの通りの動作のままである事に注意してください。変更点のひとつに、.attr()が厳密な動作になったというものがありました。具体的に言うとDOMの.getAttribute()を利用するようになっています。今までも利用はしていたのですが、checked属性などの場合は自動的にプロパティを参照するなど、柔軟性を持っていたのです。それが前回の修正では除去され、プロパティを参照する場合は新しく追加された.prop()を使用せよ、との事でした。1.6では想定通りに動きません。alert('checked!');}このコードでは、恐らく.attr()は常に空文字””を返すでしょう。1.6のAttributesモジュールの変更により、属性とプロパティの曖昧さをなくす事ができました。これまでのjQueryは属性もプロパティも.attr()だけでハンドリングしていたので、当然この変更はjQueryコミュニティを混乱させる結果になってしまいました。いえ過去の.attr()メソッドは多くの問題点を抱えており、保守も難しくなっていたとの事。1.6.1ではAttributesモジュールの更新と同時に幾つかの不具合も修正されているそうです。disabledといったboolean型の属性は、1.6.1では1.6より前のjQueryと同様に扱われます。以下のようなコードは特に変更を加えなくても、今まで通りに動きます。(1.6ではこれが駄目でした。}.attr()と.prop()の使い分け過去の.attr()を使用したものと、それが.prop()でどう置き換えられるべきかをの例を以下に示します。1.6の.attr()では動作しません。locationやreadyStateなど、オブジェクトが持つプロパティ(Property)は.prop()か、jQueryを介さない生のJavaScriptで操作してください。1.6.1では.prop()への切り替えが延期されましたので、現時点ではどちらのメソッドでもエラーにはなりません。続いて今まで特別扱いだったcheckedやselectedなどboolean型の属性ですが、引き続き特別扱いとなります。属性とプロパティの間に特別な関係があるためです。属性とは、一般に以下のようなものです。HTMLに記述したもの)のみを取ります。チェックボックスの場合、画面が表示された際にチェックが付くかどうかはchecked属性によります。初期値と設定値について、以下に例を示します。trueプロパティは、ブラウザーが現在の値を格納するのに使用します。一般に、プロパティは属性に反映されます(あれば)。boolean型の属性の場合、この特性は当てはまりません。boolean型のプロパティはチェックボックスのクリックやselect要素の選択など、利用者の操作と同期しますが、属性はそうではありません。前述のように、属性はブラウザーが設定値を格納するのに使われるだけです。1.6では、次のコードではチェックボックスにチェックは付きません。これは属性の設定値を変更しているだけで、チェック状態を変更するにはプロパティは変更されないからです。true);jQueryの開発チームも1.6をリリースした時には既に、ブラウザーが画面読み込み時にしか使わない値を操作できたところで何も便利な事はないとわかっていたそうです。1.6.1をリリースし、互換性、利便性のため引き続き.attr()メソッドでboolean型の属性値の取得と設定を行えるようになりました。1.6.1は他にも多くの属性を.attr()で操作する事ができます。以下にその一覧を示します。1.6.1で動きます。幾つかの属性、プロパティについて、どちらのメソッドを使うべきかを以下にまとめました。一部のプロパティは、過渡期的な措置として.attr()で動くだけである点は注意してください。.width()で使うらしいフォームフォーム部品の値を取る場合は.attr()でも.prop()でもなく、.val()を使うようにしましょう。現在は、まだ次のコードで動きます。values");まとめ.prop()メソッドはboolean型の属性とプロパティ、あるいはwindow.locationといったHTMLではないプロパティの操作に使います。それ以外のHTML中に存在する属性は、引き続き.attr()メソッドを使用して下さい。jQuery1.6の更新内容をまとめたよ。