当元素ID包含美元符号时,Javascript中的getElementByid

时间:2012-07-31 10:35:28

标签: javascript

当ID包含美元符号时,

getElementById()似乎没有找到该元素。在纯Javascript中有没有办法解决这个问题?我无法控制元素ID,因为它们是由“页面构建器”生成的,我不能在此应用程序中使用jQuery。

示例:

<div id="win0divFRED$0">

var orig = document.getElementById("win0divFRED$0");

非常感谢,
约翰

1 个答案:

答案 0 :(得分:2)

由于HTML4.01规范非常严格

  

ID和NAME令牌必须以字母([A-Za-z])开头,后面可以跟任意数量的字母,数字([0-9]),连字符(“ - ”),下划线(“ _“),冒号(”:“)和句号(”。“)。

根据4.01规范,您的身份证无效 与HTML5相反:

  

该值必须在元素的主子树中的所有ID中唯一,并且必须至少包含一个字符。该值不得包含任何空格字符。

我认为这可能是doctype的一个问题。尝试:

<!doctype html>