为什么选中的属性在DOM中不可见?

onchange中,input.val()始终是on,但checked属性正在更改??

input.change(_=> {
    安慰.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 not working

If the input checkbox is readonly I can still change the value and when clicking the checkbox gives the same output in 安慰

推荐答案

radio或checkbox元素的value不会更改(除非您以编程方式进行更改,但我们这里讨论的是用户与表单的简单交互).

选中" radio /复选框"时,只有checked属性更改.这个属性应该决定用户与表单交互时所采取的操作.

为什么选中的属性在DOM中不可见?

这是因为正在更新的是元素对象的checked property,而不是checked属性.如果您想在JS代码中将DOM更改prop()更新为attr(),但请注意,这样做速度较慢,在这种情况下没有任何用处.

有一个非常好的答案here,它详细介绍了JavaScript中属性和属性之间的区别,这可能有助于消除任何混淆.

Javascript相关问答推荐

为什么子组件没有在reaction中渲染?

如何expose 像React在onChange、onClick等中所做的那样的参数?

为什么在集内和集外会产生不同的promise 状态(使用Promise.race)?

使用json文件字符串来enum显示类型字符串无法按照计算的enum成员值的要求分配给类型号

Vega中的模运算符

node TS:JWT令牌签名以验证客户端和后台问题之间的身份验证

useNavigation更改URL,但不呈现或显示组件

Snowflake JavaScript存储过程返回成功,尽管预期失败

数字时钟在JavaScript中不动态更新

v—自动完成不显示 Select 列表中的所有项目

我的角模板订阅后不刷新'

在open shadow—root中匹配时,使用jQuery删除一个封闭的div类

这个值总是返回未定义的-Reaction

在Matter.js中添加从点A到另一个约束的约束

环境值在.js文件/Next.js中不起作用

如何在JAVASCRIPT中临时删除eventListener?

有没有办法更改Chart.js 3.x.x中主要刻度的字体?

无法使用npm install安装react-dom、react和next

我如何才能获得价值观察家&对象&S的价值?

如何检测当前是否没有按下键盘上的键?