将2个变量组合为1以调用ID

时间:2011-01-26 10:02:12

标签: javascript

我正在尝试在函数中创建以下代码,该代码将重复多次

myId##.className = myId##.className.replace(' class1',' class2')

到目前为止,我已经提出了以下内容,但它无效。

function toggle(partId,orig,rep,itr)
{
var partId; // Begining of Id string
var orig;  // Original Class
var rep;  // Replacement Class
var itr;  // Total number to be iterated through
var num = 1; // Starting at 1
var finalId; // for partId + num
while (num<=itr)
 {
 finalId = partId + num;
 finalId.className = finalId.className.replace(orig,rep);
 num++;
 }
}

然后我就这样实现了它。

<area shape="circle" coords="933,92,23" 
      alt="myAlt" href="#none" 
      onmouseover="toggle('myPartId',' class1',' class2',5)"
      onmouseout="toggle('myPartId',' class1',' class2',5)" />

所以我认为我可以补充className中的ID节点并且我做错了,或者我错了,因为它无法完成。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

使用此

更改您的while循环
var el;
while (num<=itr)
 {
 finalId = partId + num;
 el = document.getElementById(finalId);
 el.className = el.className.replace(orig,rep);
 num++;
 }
}

并调用chang方法,而不是toggle ..(除非这是示例中的错误..

答案 1 :(得分:0)

你永远不会得到ID指向的对象。 添加一个getElementById并尝试一下。

 {
 finalId = partId + num;
 var element = document.getElementById(finalId);
 element.className = element.className.replace(orig,rep);
 num++;
 }