<dl class="cat" id="menu_cat">
<dt><a href='ListInfo.php?&classid=1'>租房信息</a></dt>
<dd>&nbsp;&nbsp;|-<a href='ListInfo.php?classid=2'>房屋出租</a></dd>
<dd>&nbsp;&nbsp;|-<a href='ListInfo.php?classid=3'>房屋求租</a></dd>
<dd>&nbsp;&nbsp;|-<a href='ListInfo.php?classid=4'>店铺出租</a></dd>
<dd>&nbsp;&nbsp;|-<a href='ListInfo.php?classid=19'>店铺转让</a></dd>
<dd>&nbsp;&nbsp;|-<a href='ListInfo.php?classid=21'>其他</a></dd>
</dl></div>
<script>
var myNav = document.getElementById("menu_cat").getElementsByTagName("a"); 
for(var i=0;i<myNav.length;i++) 

var links = myNav[i].getAttribute("href"); 
//alert(links) 
//alert(myNav[i]); 
var myURL = document.location.href; 
if(myURL.indexOf(links) != -1) 

myNav[i].className="active"; 

}
</script>现在问题在于,如果我点击“其他”,“房屋出租”也会高亮,点ListInfo.php?classid=44,ListInfo.php?classid=4也会亮,很乱这只是菜单的一部分,全写出来,高亮混乱的更多。有没有办法解决?

解决方案 »

  1.   

    <dl class="cat" id="menu_cat">
    <dt><a href='ListInfo.php?&classid=1'>租房信息</a></dt>
    <dd>&nbsp;&nbsp;|-<a href='ListInfo.php?classid=2'>房屋出租</a></dd>
    <dd>&nbsp;&nbsp;|-<a href='ListInfo.php?classid=3'>房屋求租</a></dd>
    <dd>&nbsp;&nbsp;|-<a href='ListInfo.php?classid=4'>店铺出租</a></dd>
    <dd>&nbsp;&nbsp;|-<a href='ListInfo.php?classid=19'>店铺转让</a></dd>
    <dd>&nbsp;&nbsp;|-<a href='ListInfo.php?classid=21'>其他</a></dd>
    </dl></div>
    <script>
    var myNav = document.getElementById("menu_cat").getElementsByTagName("a"); 
    var myURL = document.location.href.match(/classid=(\d+)/)[1]; 
    for(var i=0;i<myNav.length;i++) 

    var links = myNav[i].getAttribute("href").match(/\d+/)[0]; 
    //alert(links) 
    //alert(myNav[i]);
    if(links == myURL) 

    myNav[i].className="active"; 

    }
    </script>
      

  2.   

    不懂php,不过用javascript的话,当你点击其他的时候,可以用renturn来阻止事件冒泡
      

  3.   

    if(myURL.toLowerCase()==links.toLowerCase())