我有一段代码(如下突出显示)在 Jquery 1.4.1 上运行,但我们最近迁移到 Jquery 版本 3.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 Jquery 3.0.0
我的问题是为什么所有其他类似的代码模式在迁移后仍然有效,像下面突出显示的代码在 Jquery 3.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 标记如下所示
<fieldset tabindex="-1" id="P24_PUB_IND" class="radio_group apex-item-radio">
..........
</fieldset>
迁移后看起来像
<div tabindex="-1" id="P24_PUB_IND" class="radio_group apex-item-group" role="group" aria-labelledby="P24_PUB_IND_LABEL">
......
</div>
现在我需要验证迁移后 DOM 发生变化的原因。但对于已经在两个版本中工作的东西,他们的标签完好无损,这就是他们没有任何问题的原因。
关于javascript - 复选框的 Jquery 版本更改问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60841788/