使用javascript意外结果设置样式

时间:2009-11-20 11:09:59

标签: javascript

我正在检测浏览器并尝试应用样式

alert(BrowserDetect.browser);
if(BrowserDetect.browser == "Opera") {
    document.getElementById(myBox).style.paddingTop = "5px";
}

警告准确显示浏览器名称,但为什么样式未应用?

2 个答案:

答案 0 :(得分:2)

尝试在if内添加警告,看看它是否已执行。机会是,Opera字符串周围有空格。

答案 1 :(得分:1)

alert()调用的两个副本放在if语句中,一个在样式分配之前,一个在之后。我想你会发现第二种情况不会发生,原因如下:

  1. 变量myBox不存在
  2. myBox的值不是有效DOM元素的ID
  3. myBox确实为有效元素命名,但它不是块类型元素,因此填充不适用
  4. 您还可以尝试使用可靠的JS调试器在另一个浏览器中运行相同的代码,例如启用了开发工具的Firefox + Firebug或Safari。 (首选项|高级。)这可能会使您更快地解决该样式分配的问题。