我正在尝试在函数中创建以下代码,该代码将重复多次
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节点并且我做错了,或者我错了,因为它无法完成。
非常感谢任何帮助。
答案 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++;
}