Javascript 带有复选框的Jquery版本更改问题
我有一段代码,如下所示,它在jQuery1.4.1上工作,但我们最近迁移到了jQuery3.0.0版,它开始失败。所以在谷歌搜索了很多次之后,我对代码做了如下更改,它又开始工作了Javascript 带有复选框的Jquery版本更改问题,javascript,jquery,html,oracle-apex,Javascript,Jquery,Html,Oracle Apex,我有一段代码,如下所示,它在jQuery1.4.1上工作,但我们最近迁移到了jQuery3.0.0版,它开始失败。所以在谷歌搜索了很多次之后,我对代码做了如下更改,它又开始工作了 $("fieldset#P24_PUB_IND").click(function(){ .... //in Jquery 1.4.1 // Changed the above line to $("#P24_PUB_IND input:radio").click(function(){ .... // in J
$("fieldset#P24_PUB_IND").click(function(){ .... //in Jquery 1.4.1
// Changed the above line to
$("#P24_PUB_IND input:radio").click(function(){ .... // in Jquery 3.0.0
我的问题是,为什么所有其他类似的代码模式在迁移后仍然有效,下面突出显示的代码在jQuery3.0.0中仍然有效
$("input#P24_REQUEST_TYPE").val(); // This works both in Jquery 1.4.1 and Jquery 3.0.0
$("select#P24_PUB_TYPE").val(); // This works both in Jquery 1.4.1 and Jquery 3.0.0
任何人都可以解释一下,提前谢谢。现在我知道了,在迁移之前,HTML标记如下所示
..........
迁移之后,它看起来像
......
现在我需要验证迁移后DOM发生更改的原因。但是对于已经在两个版本中运行的东西,它们的标签都完好无损,这就是它们没有任何问题的原因。将html包括在问题中我不确定这是否涉及任何版本差异;这两个查询选择不同的内容。第一个查询选择具有指定ID的
,第二个查询选择具有该ID的元素内的无线电输入。它可能有助于包括HTML、任何其他内容,以及切换到jQuery 3时出现的具体错误的描述。只有复选框的标记发生了更改。需要更多的调查。谢谢大家花时间来帮助我。感谢您的帮助。嗨,Ashlesh,在这里查看我关于APEX和JavaScript入门的系列文章(我从描述您遇到的问题的部分开始):@Dan McGhan,谢谢您的视频。所以,您确认Oracle APEX“5.1”版本中的单选按钮有“Fieldset”标记,当我们迁移时,该标记会更改为“div”,对吗?是否有一个文档说明了这一点?我不确定具体细节,但在升级APEX时,HTML输出可能会发生变化。通常情况下,它变化不大,但即使是很小的变化也可能会破坏您的代码。因此,如果你向APEX应用程序添加JavaScript,升级后你必须重新测试它。至于doc,这些更改没有文档记录。如果您使用动态操作的声明性部分,团队将自动为您说明任何更改。但是,当您添加自定义JavaScript时,必须手动测试和更新它。