动态生成单选按钮的jQuery选中逻辑失效,硬编码方式正常
诡异的jQuery单选框选中问题:仅特定机器复现
我遇到了一个非常奇怪的JavaScript/jQuery问题,想寻求大家的帮助。
相关代码片段
HTML(动态生成的单选按钮)
<input type="radio" name="item_3010258" id="item_sone_3010258" value="1" /> <input type="radio" name="item_3010258" id="item_stwo_3010258" value="0" />
jQuery/JavaScript代码
if(data[i].status === 1){ $('#item_sone_'+data[i].id).prop("checked", true); console.log('#item_sone_'+data[i].id); //debug } else if(data[i].status === 0){ $('#item_stwo_'+data[i].id).prop("checked", true); console.log('#item_stwo_'+data[i].id); //debug }
问题现象
这些单选按钮是动态生成的,这段代码在我自己的机器上运行完全正常,但在部分测试人员的机器上,即便接口返回的数据和响应与我这边完全一致,代码也无法正常选中对应的单选框。
更奇怪的是:
- 如果我硬编码执行下面的代码,或者直接在浏览器控制台里运行这段代码,就能正常选中目标单选框:
$('#item_stwo_3010258').prop("checked", true);
已做的排查
- 已经通过debug日志验证,代码拼接出来的选择器ID是完全正确的,和手动在控制台执行的一致
- 测试人员的浏览器版本和我完全相同(Chrome/Safari),而且他们机器上所有浏览器都出现这个问题,我这边所有浏览器都正常
有没有朋友遇到过类似的情况?或者能给我一些排查的方向?
内容的提问来源于stack exchange,提问作者Ankit Pise
相关产品推荐
相关产品推荐

