我有一個任務是在加載頁面時突出顯示選中的菜單。對於我有以下代碼:如何在選擇時將CSS應用於菜單?
$('.menuHeader').each(function() {
$(this).attr('id', 'menu' + ($(this).index() + 1));
$(this).val($(this).index() + 1);
// Set the dynamic ids for links
$(this).find('a').attr('id', 'link' + ($(this).index() + 1));
//alert('New ID : ' + $(this).find('a').attr('id'));
});
$('.menuHeader a').click(function() {
alert("a");
$('.menuHeader a').removeClass('menuHeaderActive');
$(this).parent().parent(".menuHeader").addClass('menuHeaderActive');
});
但是,當我選擇第二個菜單,它的刷新和失蹤的選擇。
HTML:
<div class="menuBar">
<div class="menuHeader ui-corner-top menuHeaderActive">
<span><a href="#" onclick="Home()">Home</a></span>
</div>
<div class="menuHeader ui-corner-top">
<span><a href="#" onclick="NewTransaction()">New Transaction</a></span>
</div>
</div>
我怎樣才能解決這個問題?
function Home() {
window.location.href = "../../home/welcome";
}
function NewTransaction() {
window.location.href = "../../EnergyCatagory/index";
}
雞蛋裏挑骨頭上取下。反覆使用'$(this)'是不好的做法。將其存儲到一個變量中並使用該變量。 – epascarello
如果你在NewTransaction()函數中刷新頁面,你的應用CSS將被設置爲默認值而不刷新頁面 – Dineshkani
@ Dineshkani-是的..那就是問題 – Niths