2012-02-20 4 views
0

Я хочу изменить цвет фона тега LI, который я нажал ....
Но проблема в том, что код (как JQuery, так и список LI) находится на главной странице (Admin.master), я написал следующий код на Admin.Master страницы ... Но это не кажется, что работа .....Изменение фона выбранного LI с помощью JQuery

<div id="main_menu"> 
      <ul> 
       <li><a href="dashboard.aspx">Dashboard</a> </li> 
       <li><a href="Contacts.aspx">Contacts</a></li> 
       <li><a href="MeetingA.aspx">Schedule Meeting</a></li> 
       <li><a href="Tasks.aspx">Task</a></li> 
       <li><a href="Calendar.aspx">Calendar</a></li> 
       <li><a href="Documents.aspx">Documents</a></li>      
      </ul> 
     </div> 

Мой JQuery код:

$(document).ready(function(){ 
      $("li").click(function(){ 
       $('li').removeClass('selected'); 
       $(this).addClass('selected'); 
       }); 
      }); 

Стиль:

<style type="text/css"> 
    li { color: #000; } li.selected { color: #FF0000; } 
    </style> 

Весь код на MasterPage, но не получить решение ..

Спасибо, Вишал

+0

- Мой код JQuery: $ (document) .ready (function() { $ ("li"). Click (function() {$ ('li'). RemoveClass ('selected'); $ (это) .addClass ('selected'); }); }); - Стиль:

+0

Редактировать свой вопрос и ввести код. Почему имеет значение, где html и jQ? – elclanrs

+0

Ну, я не уверен, почему он не работает ..... на главной странице !!! –

ответ

2

Я хочу изменить цвет фона <li> Tag что я нажал ...

Но вы пытаетесь изменить шрифт color, а не background-color. Поэтому я предполагаю, что у <a> уже есть цвет, который переопределяет значение <li>.
Попробуйте с background-color и убедитесь, что <a> не переопределяет этот стиль.

li.selected { background-color: #FF0000; } 

EDIT: Как sngregory сказал, вы, вероятно, хотите, чтобы перехватить и отменить поведение по умолчанию <a>. Таким образом, вы можете переписать код так:

$('a').click(function(e){ 
    e.preventDefault(); 
    $('li').removeClass('selected'); 
    $(this).parent().addClass('selected'); 
}); 
+0

Вам также необходимо учитывать тот факт, что теги li, на которые вы нажимаете, содержат гиперссылки. Нажатие на них перезагрузит страницу, если вы не перехватите клик в другом коде ... – sngregory

+0

ohh .. извините, я на самом деле добавил неправильный стиль здесь ... в моем стиле, я использовал li.selected {background-color: # FF0000; } –

0

Почему бы не использовать .toggle()

Я создал быстрый jsFiddle here.

С некоторыми условными утверждениями вы можете сделать некоторые креативные материалы с этого момента. Надеюсь, что помогает.

Смежные вопросы