在safari 4和所有资源管理器浏览器中,每当我尝试在下面包含此函数的javascript文件中调用函数时,都不会调用第一个函数。
如果function2在同一个.js文件中,那么调用function1将不起作用,解释?
以下是产生问题的代码。每当我删除此功能,一切正常,所有功能都可以正常工作。所以这个功能导致了问题。
function addOption(selectbox, value, text, class, id_nr )
{
var optn = document.createElement("OPTION");
optn.text = text;
optn.value = value;
optn.id = value;
if (class==1){ optn.className = "nav_option_main"; }
selectbox.options.add(optn);
}
任何想法为什么?
由于
答案 0 :(得分:6)
可能因为你使用保留字(class
)作为变量标识符而感到沮丧。尝试使用klazz或其他东西。
以下是保留字列表的链接:en.wikibooks.org/wiki/JavaScript/Reserved_Words
以下是Monsieur Crockford的一些话语(向下滚动或搜索“ JavaScript对保留字的限制非常沉重”这句话):crockford.com:)
答案 1 :(得分:2)
我注意到的问题:
1)class是保留字。不要将它用作变量。
2)我看不到你的其他功能,所以我假设你有一些隐含的全局和命名空间冲突。
3)我看不出这个函数在做什么,所以我假设它输出的行为与你之前的函数有冲突。