2014-04-01 21 views
-1

您好,我需要向li添加一個類。 我第一次創建列表,然後我不確定如果某個頁面出現(該列表菜單加載到的頁面),我不知道如何應用該類,因此我嘗試使用我在某處看到的某些代碼進行遊戲。我的問題是:我如何讓課程應用到元素......它假定突出顯示該頁面菜單中的文本。我想我必須檢測頁面,然後應用這個類。我還將腳本添加到HTML的底部,以便首先讀取代碼。如果這沒有意義,請隨時更改。我無法讓它工作。我感到困惑,所以我期望人們告訴我它看起來像這樣。我不會感到驚訝。因此,這裏就是我的編碼( (我不太知道我在做什麼):JQuery檢測頁面名稱並將類應用於li

// 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'); 
      } 
     }); 

    }); 
+0

是否有可能在PHP添加一些腳本(更好)在我看來, – user1551496

+0

這不是jQuery的append/prepend方法:'$('#menu')。prepend('

Menu'); .. 。$('#menu')。append('
');' –

回答

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; 
}