web前端|js教程
querySelector,getElementById
web前端-js教程
这是sina同事xiaoniu发现的,如下
企业网站源码构架,ubuntu键盘筛选键,tomcat监听端口怎么改,招标爬虫代码,中西区php培训班,信阳做seolzw
var str = 2E503E2A1C011CFC85B7B701A0677EC0900000000000001;
function bySelector(id) {
return document.querySelector(#+id);
}
function byId(id) {
return document.getElementById(id);
}
alert(bySelector(str));
alert(byId(str));
两个函数bySelector,byId分别通过querySelector和getElementById获取元素.
时时彩制作源码,xp系统装ubuntu,下载历史版本的tomcat,scrapy定向爬虫,php 设计模式详解,广州站外seo优化多少钱lzw
页面上有id为“02E503E2A1C011CFC85B7B701A0677EC0900000000000001”的元素。
发号网站源码,vscode前后端,ubuntu虚拟机安装界面大小,tomcat并发加载,sqlite语句创建表,php 预定插件,前端做系统用什么框架,爬虫失控为什么违法,种子变成php,seo 危机公关,云购网站如何安装,订单网页代码实现的,上传网页模板无法显示,3d扫描程序代码lzw
结果:所有支持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”.