addClass到getElementsByClassName数组

时间:2014-07-22 21:02:42

标签: jquery arrays svg addclass getelementsbyclassname

我需要一些帮助,因为我对.getElementsByClassName感到沮丧。 我有一个svg地图,其中包含类的路径。我现在需要列出具有某个类的所有内容并添加另一个类。现在我有

var testarray = (document).getElementsByClassName("currentclass");
for(var i = 0; i < testarray.length; i++)
{
   testarray.item(i).className("classtobeadded");
}

这会返回“未定义不是函数”错误。我已经尝试了$(文档),(文档),(jQuery),我已经尝试了$(“。currentclass”)。addClass(),我已经尝试了很多组合而没有成功。你能告诉我我做错了吗?

谢谢!

3 个答案:

答案 0 :(得分:9)

你有几个语法错误,这应该完成它:

var testarray = document.getElementsByClassName("currentclass");
for(var i = 0; i < testarray.length; i++)
{
    testarray[i].className += "classtobeadded";
}

或者,既然你正在使用jQuery,你可以这样做:

$(".currentclass").each(function() {
    $(this).addClass("classtobeadded");
});

答案 1 :(得分:2)

这个jQuery也应该起作用

  $(".currentclass").addClass("classtobeadded");

答案 2 :(得分:0)

您的代码存在错误

var testarray = (document).getElementsByClassName("currentclass");
for(var i = 0; i < testarray.length; i++)
   testarray.item(i).className += " classtobeadded";

你必须注意,你必须添加一点空间来添加一个像这样的新类

testarray.item(i).className += " classtobeadded";