シリアル化可能なプロパティは次のように定義されます。
- 要素のプロパティを設定すると、次のようなシリアル化クエリに反映され
getAttribute
、DOMInspectorで変更を確認できます。 - 要素の親ノードを取得する
.innerHTML
と、返されるhtml文字列には、対応する属性としてすべてのシリアル化可能なプロパティが含まれます。
input
ChromeとFirefoxの要素のすべてのシリアル化可能なプロパティのテーブルを確実に印刷しているように見えるページを作成しました:http: //jsfiddle.net/tEVLp/16/。カスタムプロパティはシリアル化できないため、FirefoxwebkitSpeech
などではシリアル化できません。最良の結果を得るには、クロムでテストしてください。
すべてのブール値はtrue
、プロパティのシリアル化がfalse
テストで偽陰性である属性の欠如であるためです。
だから私の質問は、なぜ.value
や.checked
シリアル化できるようなプロパティではないのですか?
技術的には、両方ともシリアル化可能です。.value
は単なる文字列であり、ブラウザはやなどの他のブールプロパティのシリアル化に問題はありませ.readOnly
ん.disabled
。
私の推測では、-attributeにシリアル化して-attributeに.defaultValue
シリアル化するため、競合が発生し、とを
シリアル化できません。その場合、なぜこれらのために選ばれたものであり、より有用な現在と状態を反映するものではないのですか?"value"
.defaultChecked
"checked"
.value
.checked
defaultX
.value
.checked