0

如何根据我所处的路径将 CSS 类添加到 div,包括如果我在其中包含 # 则它不应该出现?

<div class="popup">
    <ul>
        <li><a href="#vs">Example 1</a></li>
        <li><a href="#bod">Example 2</a></li>
        <li><a href="#ptf">Example 3</a></li>
    </ul>
</div><!-- popup -->

<!-- how would I add the class addMe with javascript depending on the site path? It has to work with # -->

jsfiddle.net/zatox50/wBxkj/

示例 index.html

4

3 回答 3

5
jQuery(function($){
   switch(window.location.hash){
      case "vs":  $(".popup").addClass("class1"); break;
      case "bod":  $(".popup").addClass("class2"); break;
      case "ptf":  $(".popup").addClass("class3"); break;
   }
});
于 2013-10-14T07:50:14.930 回答
0

none of these worked for me. this works:

<script type="text/javascript">
    jQuery(document).ready(function($){
        // Get current url
        // Select an a element that has the matching href and apply a class of 'active'.     Also prepend a - to the content of the link
        var url = window.location.href;
        $('.menu a[href="'+url+'"]').addClass('active');
    });
</script>

menu structure:

<div class="menu">
    <a href="#" class="menu-element">001</a>
    <a href="#" class="menu-element">002</a>
</div> 

source: http://www.paulund.co.uk/use-jquery-to-highlight-active-menu-item

于 2013-11-28T13:30:02.283 回答
0

这是使用 JavaScript 和 JQuery 为网站创建动态活动菜单的简单代码。

<style>
.myactive{
     background-color:#F7A751;
    }
    </style>

<script type="text/javascript">
$(function () {
var url = window.location.pathname; 
var activePage = url.substring(url.lastIndexOf('/') + 1);
    activePage === '' ?  $('#home').addClass("myactive") : $('#home').removeClass("myactive") ; // for active index page
    activePage === 'about-us' ? $('#about').addClass("myactive") : $('#about').removeClass("myactive") ; //active about us 
    activePage === 'who-we-are' ? $('#info').addClass("myactive") : 
    $('#info').removeClass("myactive") ; 
});
</script>  

#HTML Part....
 <li id="home"><a href="#">Home</a></li>
 <li id="about"><a href="#">About</a></li>
于 2016-03-07T17:31:56.047 回答