在<;a href>;使用javascript

在<;a href>;使用javascript,javascript,Javascript,我正在使用php。创建一个文件leftcolumn.php,其中包含以下代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv=

我正在使用php。创建一个文件leftcolumn.php,其中包含以下代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script language="javascript">
    function setClass( tabName ){
        document.getElementById(tabName).style.background = '#f0f7fa';
        document.getElementById(tabName).style.color = '#c66653';
    }
</script>
</head>

<body>
<div id="sidebar">
    <img src="images/logo.png" />
    <ul class="sideNav">
        <!-- Use class="active" for selected tab -->
        <li><a id="dashboard" href="cms.php" onclick="setClass('dashboard');">Dashboard</a></li>
        <li><a id="mainMenu" href="menus.php">Main Menus</a></li>
        <li><a id="retailers" href="#">Retailers</a></li>
        <li><a id="productimages" href="productimages.php">Product Images</a></li>
        <li><a id="pressreleases" href="pressreleases.php">Press Releases</a></li>
        <li><a id="news" href="news.php">In the News</a></li>
    </ul>
    <!-- // .sideNav -->
    <br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
</div>
</body>
</html>

函数setClass(tabName){
document.getElementById(tabName).style.background='#f0f7fa';
document.getElementById(tabName).style.color='#c66653';
}














现在,当用户单击选项卡时,我只想应用background='#f0f7fa'&color='#c6653'(在活动选项卡上),为此我创建了一个函数,但它不应用更改

请帮忙解决这个问题


谢谢….

当您单击每个选项卡时,它显然会重新加载页面,因此javascript在这里不是一个解决方案。我通常做的是在body标签中添加一个id,该id对于每个页面都是唯一的。因此,对于仪表板页面,body标签应该是。然后在css样式表中,您可以执行以下操作:

#dashboard .dashboard {
background-color:#f0f7fa;
color:#c66653;
}

在每个选项卡上,您都会有相应的类名。

好吧,您的代码实际上可以工作,但由于重定向到cms.php,因此无法看到它。试试这个:

<li><a id="dashboard" href="#" onclick="setClass('dashboard');">Dashboard</a></li>

正如FutureCode和Georgi所指出的,您的JS代码正在工作,但随后会加载另一个页面。因此,您没有看到效果。
您可以使用FutureCode建议的方法,或者,您也可以调用JS函数onLoad of body标记

在cms.php中:

<body onload="setClass('dashboard');">

在menus.php中:

<body onload="setClass('mainMenu');">


谢谢,它真的很管用&你的描述也给我留下了深刻的印象,我只是添加了一些代码来获取当前页面并添加脚本。+1将样式保留在CSS中,在CSS中进行样式设置。不要使用javascript。
<body onload="setClass('dashboard');">
<body onload="setClass('mainMenu');">