[英]jquery/javascript input checkbox checked attribute (readonly not working)
為什么選中的屬性在 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
的,我仍然可以更改值,並且單擊復選框時會在控制台中提供相同的輸出
單選或復選框元素的value
不會改變(除非您以編程方式進行,但我們在這里討論的是與表單的簡單用戶交互)。
當您選中單選/復選框時,僅checked
的屬性會更改。 當您的用戶與表單交互時,該屬性應該確定您采取的操作。
為什么選中的屬性在 DOM 中不可見?
這是因為正在更新的是 Element 對象的checked
屬性,而不是checked
屬性。 如果您想在 JS 代碼中更新 DOM 更改prop()
為attr()
,但請注意,這會更慢並且在這種情況下沒有任何用處。
這里有一個很好的答案,詳細介紹了 JavaScript 中屬性和屬性之間的區別,這可能有助於消除任何混淆。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.