This is discovered by Sina colleague Xiaoniu, as follows
Two function Byselector,byid get the element through Queryselector and getElementById respectively.
There is an element with the id "02e503e2a1c011cfc85b7b701a0677ec0900000000000001" on the page.
Result: All browsers that support Queryselector are not getting the Byselector (error), but can be obtained by getElementById.
A string that begins to suspect that the ID is too long causes queryselector to get it. The real reason is that Queryselector is implemented by CSS specification, that is, CSS identifiers cannot begin with numbers.
W3 writes
in CSS, identifiers (including element names, classes, and IDs into 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 (the next item). For instance, the identifier "B&w?" could be written as "b\&w\" or "b\26 w\3f".