プロパティと属性は、IE8以下で同様に扱われます。
それらは同じ意味ですか?
属性とプロパティの違いは何ですか? セマンティクスについてかなりの議論があります...そして用語のさまざまな言語の使用...
@同じだと信じているすべての人:
番号。
HTML 要素のプロパティと属性は同じではありません。
DOM の観点から: プロパティはプライベート変数であり、属性は HTML 要素の childNode として格納される NamedNodeMap に格納されます。
JavaScript の観点から (実装): var elem = document.getElementById("ID");
elem.prop = somevalue; //プロパティへのアクセス
elem.getAttribute("属性名"); //属性へのアクセス: getters elem.setAttribute("attributeName","value"); //属性へのアクセス: セッター
実装の詳細については、他の回答を参照してください。
プロパティと属性はDOMで同じではありません。ただし、IE8以下では同様に扱われます。
クロスブラウザの互換性の問題に直面しました。
問題:IE8用のHTML4/JavaScriptのプロパティとしてカスタム属性にアクセスしています。HTMLをChrome、Safari、IE9と互換性のあるものにするために必要です。
解決策:要素を繰り返してカスタム属性をチェックし、それらをプロパティとして追加できます。
サンプルコード:
var propertyName = obj.attributes [index] .nodeName; //(属性名では大文字と小文字は区別されません)obj [propertyName] = value; //(obj.customAttributeの実装を確認します)
ヒント:IE 8以下とは異なり、IE 9以降では問題が解決され、属性とプロパティの処理が異なります。