Mam zadanie podświetlić menu wybrane podczas ładowania strony. W tym celu mam następujący kod:Jak zastosować CSS do menu podczas wybierania?
$('.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');
});
Ale po wybraniu drugiego menu odświeżono go i brakowało zaznaczenia.
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>
Jak mogę rozwiązać ten problem?
function Home() {
window.location.href = "../../home/welcome";
}
function NewTransaction() {
window.location.href = "../../EnergyCatagory/index";
}
przyczepić. Używanie '$ (this)' w kółko to zła praktyka. Zapisz go w zmiennej i użyj tej zmiennej. – epascarello
Jeśli odświeżysz stronę w funkcji NewTransaction(), Twój zastosowany CSS będzie ustawiony domyślnie, spróbuj czegoś bez odświeżania strony – Dineshkani
@ Dineshkani-tak .. to jest problem. – Niths