Javascript基于浏览器按ID隐藏元素

时间:2011-01-14 02:14:51

标签: javascript html getelementbyid

我正在尝试向所有浏览器显示一条消息,并通过javascript将其删除(如果支持的话)。目前,隐藏的唯一方法是单击隐藏按钮。它不会在我的if语句中运行

<html>
<head>

<script type="text/javascript">
var browser=navigator.appCodeName + navigator.appName;
function hideStuff(id) {
  document.getElementById(id).style.display = 'none';
 }

function supportedBrowser() {
if (browser == "MozillaNetscape")
  {
  document.write("Browser is Mozilla Netscape");
  }
else if (browser == "MozillaOpera")
  {
  document.write("Browser is Mozilla Opera");
  hideStuff('browserMessage');
  }
else
  {
alert("Please upgrade your browser.");
 }
}
//-->
</script>
</head>
<body>
<a href="#" onclick="hideStuff('browserMessage'); return false;">Hide</a>
<br><br>
<p id="browserMessage" style="display: inline;">Please use a supported browser.</p>
</body>
</html>

根据“bluevoodoo1”更改

<html>
<head>

<script type="text/javascript">
var browser=navigator.appCodeName + navigator.appName;
function hideStuff(id) {
        document.getElementById(id).style.display = 'none';
    }
function supportedBrowser() {
if (browser == "MozillaNetscape")
  {
  document.write("Browser is Mozilla Netscape");
  }
else if (browser == "MozillaOpera")
  {
  document.write("Browser is Mozilla Opera");
  //hideStuff('browserMessage');
  }
else
  {
alert("Please upgrade your browser.");
    }
}
function init() {
         supportedBrowser();
       //etc
    }
    window.onload = supportedBrowser;
    //-->
</script>
</head>
<body>
<a href="#" onclick="hideStuff('browserMessage'); return false;">Hide</a>
<br><br>
<p id="browserMessage" style="display: inline;">Please use a supported browser.</p>
<p>This text shoudld not be hidden.</p>
</body>
</html>

有谁知道我做错了什么?

1 个答案:

答案 0 :(得分:0)

你可能需要使用window.onload处理程序...(jquery的“document.ready”可能是首选,但我在下面使用一些原生的javascript)

<script>
    function init() {
         supportedBrowser();
         //etc
    }
    window.onload = init; 
</script>