オンラインで完全なリストを見つけることができません。あらゆる種類のリストを提供する人は誰でも、jQuery1.6のブログ投稿で提供されているリストの一部をコピーするだけです。#3に関しては、Starxは、ここでの回答に対するコメントでこれに対処しました。 http://timmywillison.com/は、まともな議論でより詳細に説明します。MDNとW3Cの仕様には、属性からプロパティであるかのように設定できるさまざまなインターフェイスがあることも記載されています(https://developer.mozilla.org/en/DOM/element)。ただし、MDNには実際にはどれがリストされていません。それらはそうです。MDNは、プロパティインターフェイスをセッターとして使用する方が、getAttributeを使用するよりも脆弱であると述べています。
「これらのインターフェースは通常、ほとんどのHTMLおよびXML要素で共有されますが、DOM HTML仕様にリストされている特定のオブジェクトに特化したインターフェースがあります。ただし、これらのHTMLインターフェースは「[HTML4.01]および[XHTML1.0]専用であることに注意してください。 HTML 5ドラフトは、これらのHTMLインターフェースとの下位互換性を目指していると述べていますが、「以前は非推奨で、サポートが不十分で、ほとんど使用または考慮されていなかった機能もあります。不要なものは削除されました。"getAttribute()などのDOM XML属性メソッドに完全に移行することで、潜在的な競合を回避できます。"
ただし、現時点では、FirefoxおよびChromeでレンダリングされたHTML5 doctypeページは、「非推奨、サポートが不十分」などのインターフェイスがすでに削除されている環境にあると想定しても問題ありません。
したがって、ブール値、文字列値、およびint値を使用して、すべてのHTML要素タイプに対して、jQueryブログで言及されているすべての属性と非属性プロパティをテストしました。
1.7.2および1.8preを使用すると、.prop()またはattr()のどちらを呼び出しても、jQueryは内部的に常に実際に次の目的で.propを使用します。
async, autofocus, autoplay, checked, controls, defer, disabled, hidden, loop,
multiple, open, readonly, required, scoped, selected
HTML要素(ここではウィンドウ、ドキュメントなどを考慮していません)の場合、.attr()を使用しない限り、jQueryは次の属性を設定しません。
accept-charset, accesskey, bgcolor, buffered, codebase, contextmenu, datetime,
default, dirname, dropzone, form, http-equiv, icon, ismap, itemprop, kind,
language, list, location, manifest, nodeName, nodeType, novalidate, pubdate,
radiogroup, seamless, selectedIndex, sizes, srclang, style, tagName
そして最後に、jQueryは.prop()または.attr()のいずれかを使用して次の属性のリストを設定します。上記の最初のリストでは、.attr()と.prop()のどちらを使用するかに関係なく、jQueryは常に.prop()を使用します。このリストの属性については、jQueryはユーザーが使用するものをすべて使用します。.prop()を使用する場合、jQueryは.prop()を使用し、その逆も同様です。どちらの場合も、結果は同じです。したがって、潜在的なセマンティックの考慮事項を無視すると、prop()が.attr()よりも約2.5倍高速であるという点で、jQuery 1.6.1ブログ投稿では、.attr()を使用することを提案していますが、代わりに.prop()を使用できます。 、パフォーマンスが大幅に向上します。
accept, action, align, alt, autocomplete, border, challenge, charset, cite,
class, code, color, cols, colspan, contenteditable, coords, data, defaultValue,
dir, draggable, enctype, for, headers, height, hidden, high, href, hreflang,
id, keytype, label, lang, low, max, maxlength, media, method, min, name,
optimum, pattern, ping, placeholder, poster, preload, readonly, rel, required,
reversed, rows, rowspan, sandbox, scope, shape, size, span, spellcheck, src,
srcdoc, start, step, summary, tabindex, target, title, type, usemap, value,
width, wrap