2013-06-12 74 views
-1

我在div內有少量錨標記,我需要檢索所有錨標記的href值。 例如使用頁面URL映射href值

<div id="sample"> 
<ul> 
<li><a href="/location1">Location1</a></li> 
<li><a href="/location2">Location2</a></li> 
<li><a href="/location3">Location3</a></li> 
<li><a href="/location4">Location4</a></li> 
</ul> 
</div> 

假設我在/location1,具有href="/location1"應該有一個單獨的背景色li,比方說紅色。如果我在/location2對應的li應該有相同的紅色。

我想先檢索頁面的url,然後將它存儲在一個變量中。

var pageurl = (window.location.pathname); 

但不太確定如何檢索href,然後根據頁面URL來映射它。

+0

他們不是主播,他們是合適的URL。 –

+0

你有什麼試過?向我們展示一些代碼! – HBP

+0

您正在使用哪種服務器站點語言 – softsdev

回答

2

你做這樣的事情:

// Get the active link first 
var $links = $('#sample a').filter(function() { 
    return this.href && this.href == location.pathname; 
}); 

// Highlight the current li having the link 
$links.closest('li').addClass('active'); 

在任何風格,你想申請活動類集合。

+0

活動類未得到應用。 – webdevexp

+0

運行這個''alert(window.location.pathname)'首先你得到了什麼? '/ location1'或'/ location1 /'? –

+0

添加的斜槓可以通過使用indexOf而不是== – Esaevian

0

這是jQuery代碼,需要添加jQuery庫才能工作。它將工作在頁面加載

jQuery(document).ready(function(){ 
    var url=document.URL.split('?')[1]; 
    if(url == undefined){ 
     url = ''; 
    } 
    if(url != ''){ 
     url = '#'+url; 
     jQuery(url).trigger('click'); 
    } 
    var url=document.URL.split('?')[1]; 
    if(url == undefined){ 
     url = ''; 
    } 
    if(url != ''){      
     // do here what you want to do 
    } 
    } 
); 
0
$(document).ready(function(){ 
    $('#sample ul li a').each(function(e){ 
     var href = $(this).attr('href'); 
     // do something with href 
    }); 

});