JQuery检测页面名并将类应用于li

时间:2014-04-01 15:21:48

标签: jquery css

嗨,我需要在li中添加一个类。 我首先创建了列表然后我不知道如果某个页面出现(这个列表菜单加载到的页面),如何应用该类,所以我尝试使用我看到的某些代码。我的问题是:如何让类应用于元素......假设突出显示该页面菜单中的文本。我想我必须检测页面,然后应用该类。我还将脚本添加到HTML的底部,以便它首先读取代码。如果这没有意义,请随时更改。我无法让它发挥作用。我很困惑,所以我希望别人告诉我它看起来像那样。我不会感到惊讶。所以这就是我编码的内容( (我不太清楚我在做什么):

// JavaScript Document
$(document).ready(function(){
    $('#menu').prepend('<fieldset class="title"><legend>Menu</legend>'); 
    $('#menu').append('<li><a href="sdfsdf.html">sdfsd</a></li>');  
    $('#menu').append('<li><a href="sdfsdfs.html">sdfsdfdsf</a></li>');  
    $('#menu').append('<li><a href="#">sdfsdfsdf</a></li>');  
    $('#menu').append('<li><a href="#">sdfsdfdsf</a></li>');  
    $('#menu').append('<li><a href="#">sdfsdfsdf</a></li>');  
    $('#menu').append('<li><a href="#">sdfsdfsdf</a></li>');  
    $('#menu').append('<li><a href="#">sdfsdfds</a></li>');  
    $('#menu').append('<li><a href="#">sdfsdffsd</a></li>');  
    $('#menu').append('</fieldset>'); 

   var url = "nHSC.html"; 

        $('#menu li [0]').each(function(){
            alert(location.pathname);
           var myHref= $(this).attr('href');
           if( url == myHref) {
                $('#menu li [0]').addClass('#menu .current a');
           }
        });

    }); 

1 个答案:

答案 0 :(得分:0)

  $('#menu li').each(function(){
        alert(location.location);
       var myHref= resolve($(this).attr('href'),window.location);
       if( myHref== window.location) {
            $(this).addClass('.current');
            //return;
       }
    });

解析功能

 function resolve(url, base_url) {
var doc = document
, old_base = doc.getElementsByTagName('base')[0]
, old_href = old_base && old_base.href
, doc_head = doc.head || doc.getElementsByTagName('head')[0]
, our_base = old_base || doc_head.appendChild(doc.createElement('base'))
, resolver = doc.createElement('a')
, resolved_url
;
our_base.href = base_url;
resolver.href = url;
resolved_url = resolver.href; // browser magic at work here

if (old_base) old_base.href = old_href;
else doc_head.removeChild(our_base);
return resolved_url;
 }