>我正在为不同的元素添加唯一的ID和类,就像这样,
<div id="%'@#K!NG,<$wE3T?">Sweet</div>
所以我抬头看了一下,HTML 中 id 属性的有效值是什么?在那里,我读到了广受好评的:
ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed by any number of letters, digits ([0-9]), hyphens ("-"), underscores ("_"), colons (":"), and periods (".").
但后来我自己尝试,似乎比这灵活得多。 这两种方法都有效:
$(document.getElementById("%'@#K!NG,<$wE3T?")).text();
document.getElementById("%'@#K!NG,<$wE3T?").innerHTML;
如果我包含诸如 !@#$%^&*()<>}|在ID名称中?
它可以在许多浏览器中工作,但不能保证有效。为了获得最大的安全性,请坚持标准。
这与:为什么变量名不能以数字开头?
在 HTML/JS 中,这在当今可能不是什么问题,但请记住您可以这样做:
>>> window.footer
<div id="footer" class="categories">
这几乎就是JS在早期的工作方式。出于兼容性的原因,它仍然有效。它实际上已经在HTML5中形式化了,恕我直言,它是HTML5中较糟糕的概念之一。我相当确定,每次你在实时应用程序中使用它时,道格拉斯·克罗克福德都会杀死一只可爱的小哺乳动物。请参阅:DOM:元素 ID 是全局变量。