2017-03-16 81 views
0

我有一個左側導航的儀表板。導航是在名爲nav.html的外部文件中聲明的。如何在導航位於外部文件時使用jQuery將類添加到導航列表中?

在每一頁我使用jQuery使用這種加載navigatoin:

<script> 
    $(function() { 
     $.get("nav.html", function (data) { 
     $("nav").append(data); 
     }); 
    }); 
    </script> 

現在我嘗試添加一個活躍元素上的一類,我沒有找到一個方法...

非常感謝您的幫助。

+0

如何添加類?使用事件代表團將工作我猜 – DaniP

+0

你是什麼意思'積極'?在該鏈接的「href」中激活的是當前正在查看的頁面,還是處於活動狀態,因爲在光標處停留了一段時間? – smilebomb

回答

0

您沒有顯示nav.html的結構,但我假設您知道哪個元素應該處於活動狀態。一種可能的方法:

$.get("nav.html", function(navHtml) { 
    var $navHtml = $(navHtml); 
    var $activeLink = $navHtml.find('a[href="' + getActiveLink() + '"]'); // for example 
    $activeLink.addClass('active'); 
    $("nav").append($navHtml); 
}); 

點是創造一個jQuery對象包裝尚未連接到window.document HTML元素 - 這個元素是從解析html文件中創建。您可以像處理DOM中的'真實'那樣來處理這個對象 - 特別是使用.find()方法找到特定的元素,然後使用.addClass()向該元素添加一個特定的類。

0

追加後,您應該可以修改元素。順便說一下,您可以使用​​來合併$.get.html()。在其回調函數中,this將是您加載HTML的nav元素,因此您可以使用它在此查找DOM元素。

$("nav").load("nav.html", function() { 
    $(this).find("a").addClass("active"); 
}); 
相關問題