為什么選中的屬性在 DOM 中不可見?
在onchange
input.val()
總是on
,但checked
屬性在變化??
input.change(_=> {
console.log('val:', input.val(), ', checked:', input.prop('checked'));
});
安慰
val: on , checked: true
val: on , checked: false
val: on , checked: true
val: on , checked: false
只讀不作業
如果輸入復選框是readonly
我仍然可以更改值,并且單擊復選框時在控制臺中給出相同的輸出
uj5u.com熱心網友回復:
單選或復選框元素的value
不會改變(除非您以編程方式進行,但我們在這里討論的是與表單的簡單用戶互動)。
當您選中單選/復選框時,只有checked
屬性會更改。當您的用戶與表單互動時,該屬性應該確定您采取的操作。
為什么選中的屬性在 DOM 中不可見?
這是因為要更新的是 Element 物件的checked
屬性,而不是checked
屬性。如果您想在您的 JS 代碼中更新 DOM 更改prop()
,attr()
但請注意這會更慢并且在這種情況下沒有任何用處。
這里有一個很好的答案,詳細介紹了 JavaScript 中屬性和屬性之間的區別,這可能有助于消除任何混淆。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/495672.html
標籤:javascript jQuery dom