2014-02-12 4 views
-2

Можете ли вы, пожалуйста, дайте мне знать, почему я не могу добавить класс в список здесь: Link и вот кодПроблема при добавлении класса в список

$(document).ready(function() { 
    // Handler for .ready() called. 
    $("li").on("click", function() { 
     //alert($(this).text()); 
     $(this).addClass("red"); 
    }); 
}); 
+0

может кто-то пожалуйста, дайте мне знать, почему этот вопрос получил -2 ?! Я твердо верю, что Stackoverflow ДОЛЖЕН остановить гениальность! вести себя так, как с другими людьми! – Behseini

ответ

1

Вам нужно добавить класс для тега тега not li.

$(document).ready(function() { 
    // Handler for .ready() called. 
    $("li a").on("click", function (e) { 
     e.preventDefault(); 
     //alert($(this).text()); 
     $(this).addClass("red"); 
    }); 
}); 

demo

+1

Конкретная проблема заключается в том, что атрибуты 'href' в его тегах' a'nchor заставляют браузер перезагружать страницу каждый раз, а затем вы видите совершенно новое представление. – Itay

+0

Нет ссылки, которую OP хочет уйти, но не удалось использовать preventDefault() –

+0

@Behseini Возможно, вы хотите это: http://jsfiddle.net/wSt6Q/7/ –

0

Класс добавлены правильно, вы можете изменить свои правила CSS на:

li.red a { 
    color:red; 
} 

Чтобы получить текст ссылки в красном цвете (при условии, что это то, что вы хотите).

0

Похоже css specificity проблемы, добавить более конкретные правила, чтобы применить стиль, чтобы закрепить элементы

.red a{ 
    color:red; 
} 

Демо: Fiddle

0

Класс добавления скрипт работает у вас есть для изменения вашего css

li.red a{color:red;} 
0

Класс добавлен. Вы должны добавить css в тег привязки.

Обновлена ​​скрипка.

http://jsfiddle.net/wSt6Q/3/

$(document).ready(function() { 
     // Handler for .ready() called. 
     $("li").on("click", function() {  
      $(this).addClass("red"); 
     }); 
    }); 

.red a { 
    color:red; 
} 
0

Вы должны предотвратить действие вашего тега привязки по умолчанию.

$(document).ready(function() { 
    // Handler for .ready() called. 
    $("li a").on("click", function (e) { 
     e.preventDefault(); 
     //alert($(this).text()); 
     $(this).addClass("red"); 
    }); 
}); 

Здесь Fiddle

0

Другой пример:

HTML:

<ul> 
    <li data-color="red">Red</li> 
    <li data-color="blue">Blue</li> 
    <li data-color="green">Green</li> 
</ul> 

<div> 
    <label>Selected Color</label> 
</div> 

CSS:

.red{ 
    color: white; 
    background: red;  
} 

.blue{ 
    color: white; 
    background: blue; 
} 

.green{ 
    color: white; 
    background: green; 
} 

div{ 
    text-align: center; 
    width: 500px; 
    height: 500px; 
    margin: 0 auto; 
} 

JS:

$('li').on('click', function(){  
    var selectedColor = $(this).data('color');  
    $('div').removeClass(); 
    $('div').addClass(selectedColor);  
}); 

http://jsfiddle.net/cfVw8/

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