1. 概要
属性とプロパティは、よく混同される 2 つの概念です。
簡単に言えば、プロパティは JS コードでアクセスされます:
document.getElementByTagName('my-element').prop1 = 'hello';
属性はこれに似ています:
JS コードで属性にアクセスする方法は getAttribute と setAttribute です:
document.getElementByTagName('my-element').setAttribute('attr1','Hello');
document.getElementByTagName( ' my-element').getAttribute('attr1','Hello');
2. 違い
ほとんどの場合、この 2 つは同等です。 Web 標準では、属性が同じ名前のプロパティを「反映する」と規定されることがよくあります。しかし、それでも例外はたくさんあります。
1. 一貫性のない名前
最も一般的なものは、JavaScript の予約語を避けるために、JS のクラス属性に対応するプロパティは className です。
var div = document.getElementByTagName('div');
div.className //cls1 cls2
< ;/scrpit>
2. 一貫性のない型
最も典型的なのは、文字列の代入を受け入れない style です。