Angular 7中替换重复id为class后仍出现重复id错误,求原因
问题原因及解决方法
- 你只修改了测试用例的选择逻辑和样式选择器,但组件HTML模板里的input元素还保留着
id="x"属性。浏览器和可访问性检测工具是直接扫描DOM中的所有id属性,只要存在重复值就会触发错误,和你用什么方式获取元素完全无关。 - 别忘了组件b里的那4个重复id也要一起处理——要么直接删掉不需要的id属性,要么给每个元素生成唯一id,比如在循环渲染的场景下用
[id]="'x-' + itemIndex"这种动态绑定的方式生成唯一标识。 - 测试用例这边,既然已经换成类选择器,要确保
querySelector的写法正确,比如用querySelector('.your-target-class'),如果要选多个元素就用querySelectorAll,不过这不是当前报错的核心原因,核心是要把DOM里所有重复的id="x"都清理掉。
内容的提问来源于stack exchange,提问作者Abdul
相关产品推荐
相关产品推荐

