JavaScript制作标签



所以,我试图使一个"选项卡菜单",像这样:http://flowplayer.org/tools/tabs/index.html(但我不想用这个。)所以,我尝试使用url变量来设置活动菜单项。代码:

onload=function(){
    //Check if editPage is set
    if (gup("editPage")) {
        gupname = gup("editPage");
        var x = "contentEditListItem"+gupname; 
        var y = document.getElementsByClassName(x);
        y.className = "contentEditListItemActive";
    } 
}
function gup( name )
{
  name = name.replace(/[[]/,"\[").replace(/[]]/,"\]");
  var regexS = "[\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var results = regex.exec( window.location.href );
  if( results == null )
    return "";
  else
    return results[1];
}

gup函数工作得很好,我得到了想要的类名("contentteditlisttitem"+gupname)。为什么它保持不变?

getElementsByClassName返回一个NodeList(类似于Array),因此在其上设置属性不会影响其包含的元素,而只影响NodeList本身,对其没有影响。

可以设置第一个元素的类名,例如:

y[0].className = "contentEditListItemActive";

或者,如果您希望更改所有元素的类名,您可以遍历NodeList:

for(var i = 0; i < y.length; i++) {
    y[i].className = "contentEditListItemActive";
}

相关内容

  • 没有找到相关文章

最新更新