错误使用removeProp()时,jquery Migrate插件不会发出警告

错误使用removeProp()时,jquery Migrate插件不会发出警告,jquery,jquery-migrate,Jquery,Jquery Migrate,在我解释这个问题之前,让我告诉您,我清楚地知道jQuery removeProp不应该用于本机属性,例如disabled、checked和selected 我们将jQuery从1.12.3升级到3.6.0。我们使用jquerymigrate插件来识别兼容性问题,并修复控制台中生成的所有警告 $(“#x”).removeProp(“已禁用”)在1.12.3中确实有效,并在升级到最新版本后停止工作。但是,除非手动测试页面,否则我们无法识别问题。我想知道为什么jQueryMigratePlug-in没

在我解释这个问题之前,让我告诉您,我清楚地知道jQuery removeProp不应该用于本机属性,例如disabled、checked和selected

我们将jQuery从1.12.3升级到3.6.0。我们使用jquerymigrate插件来识别兼容性问题,并修复控制台中生成的所有警告

$(“#x”).removeProp(“已禁用”)
在1.12.3中确实有效,并在升级到最新版本后停止工作。但是,除非手动测试页面,否则我们无法识别问题。我想知道为什么jQueryMigratePlug-in没有就同样的问题向我们发出警告


我知道我们以前错误地使用了它,我们很高兴将其更正为
$(“#x”).prop(“disabled”,false)

这是一个解释,由jQuery核心团队的Timmy Willison在本错误报告中解释

我认为这只是一个文档问题。我们应该把它改成“这个” 可以完全移除该属性,或者根本没有任何效果 按照代码,它只是调用delete,这是正确的 事情1.x用于将旧IE的属性设置为“未定义”,它不是 更长的时间是必要的,在技术上是无效的

尽管如此,这有点毫无意义。原因需要更新,但是 这项建议仍然有效。你没有理由这么做 删除本机属性(您也不应期望它起作用–闪烁是 使之无论如何都不可能)。这与删除内容不同 属性,该属性将实际将相应的属性设置为 错。在这里设置为false是正确的


提出的问题导致
.removeProp()
的文档发生更改

你能在这里发布你的代码吗?我已经知道我必须使用.prop()方法进行修复。我担心的是迁移插件没有给出警告。你确定你使用的是jQuery迁移的开发版本吗?如果您使用的是生产版本,则不会收到有关使用过时接口的警告。@Barmar是的,我使用的是开发版本,我能够验证并修复控制台中记录的其他警告。文档中没有任何内容表明这在版本之间发生了更改。