我的功能在IE中完美,但在mozilla中却没有。
function showhide()
{
alert("test");
var args=showhide.arguments;
alert("1"+args);
for (i=0; i<(args.length); i=i+2)
{
alert("2"+args);
eval(args[i]+".style.display='"+args[i+1]+"'");
}
alert("3"+args);
}
我在mozilla中得到警告test
但是没有显示其他警报。
答案 0 :(得分:4)
Function.Arguments
为depreciated,只需自行使用arguments
;
var args = arguments;
修改强>
替代你做的事情;
function showHide(elementStyles) {
for (id in elementStyles) {
alert(id + " / new style=" + elementStyles[id]);
document.getElementById(id).style.display = elementStyles[id];
}
}
showHide({
myElementId1: "block",
myElementId2: "none",
myElementId3: "inline"
});
或使用arguments
function showHide() {
for (var i = 0; i < arguments.length; i += 2) {
alert(arguments[i] + "/" + arguments[i + 1]);
... something other than eval here
}
}
showHide("myElementId1", "block", "myElementId2", "none");
答案 1 :(得分:3)
只需使用arguments
代替showhide.arguments