document.getElementById不适用于<a> tag</a>

时间:2010-03-18 11:28:30

标签: javascript html class getelementbyid

我对js很新,所以请帮助我。

我正在尝试使用onClick将标记添加到标记中。

代码如下所示:

<a class="gkvSprite" href="#" id="abc" onClick="showhide('1')">Click 1</a>
<a class="gkvSprite" href="#" id="def" onClick="showhide('2')">Click 2</a>
<a class="gkvSprite" href="#" id="hij" onClick="showhide('3')">Click 3</a>

现在当我点击我需要为我选择的那个添加一个名为“selected”的类。 我尝试使用setAttribute并添加了jquery类但是没有成功

当我提醒document.getelementbyId(123)时,它会给出链接。

有人可以帮助我吗?

先谢谢你 Alloi

2 个答案:

答案 0 :(得分:7)

id应以字母开头。

Official specification

  

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


另外,

var element = document.getElementById('id');
element.className += "newClass";

showhide()应该像上面那样做。

答案 1 :(得分:1)

如果没有看到showhide的代码,就无法确切地看到你做错了什么。既然你提到了jQuery,那么这就是你用它描述的内容:

$('.gkvSprite').click(function() {
  $(this).addClass('selected');
});

还值得注意的是,使用数字启动ID无效。