时间:2021-05-26
这是sina同事xiaoniu发现的,如下
两个函数bySelector,byId分别通过querySelector和getElementById获取元素.
页面上有id为“02E503E2A1C011CFC85B7B701A0677EC0900000000000001”的元素。
结果:所有支持querySelector的浏览器中通过bySelector均获取不到(报错),但通过getElementById却可以获取。
开始怀疑是id的字符串太长的原因导致querySelector获取不到。真正原因却是querySelector按css规范实现,即css标识符也不能以数字开头。
W3 写道
In CSS, identifiers (including element names, classes, and IDs in selectors) can contain only the characters [a-zA-Z0-9] and ISO 10646 characters U+00A0 and higher, plus the hyphen (-) and the underscore (_); they cannot start with a digit, two hyphens, or a hyphen followed by a digit. Identifiers can also contain escaped characters and any ISO 10646 character as a numeric code (see next item). For instance, the identifier "B&W?" may be written as "B\&W\?" or "B\26 W\3F".
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
原生JS有3种方式来获取元素:getElementById('id')getElementsByName('name')getElementsByTagName
1.获取元素getElementById()方法,通过元素的id获取元素,接受一个参数即要获取元素的id,如果不存在这个id返回null注意不要让表单元素的na
1.Dom元素的获取document.getElementById():通过id获取一个Dom元素document.getElementsByClassName
常见的获取元素的方法有3种,分别是通过元素ID、通过标签名字和通过类名字来获取。getElementByIdDOM提供了一个名为getElementById的方
常见的获取元素的方法有3种,分别是通过元素ID、通过标签名字和通过类名字来获取。getElementByIdDOM提供了一个名为getElementById的方