JQuery для целевого CSS класса: hover - PullRequest
0 голосов
/ 05 января 2011

Запутался здесь.Как лучше всего изменить CSS при наведении на ссылку ниже и как?toggle.Class?add.Class?Я хочу показать изображение при наведении.Мне удалось изменить цвет текста с помощью

$("#menu-item-1099 a:contains('rss')").css("color", "#5d5d5d");

, но, похоже, я не нацелился на класс наведения.

<div id="access">
<div class="menu-header">
<ul id="menu-main-menu" class="menu">
<li id="menu-item-1099" class="menu-item menu-item-type-custom menu-item-1099">
<a href="http://mydomain.com/feed/">rss</a></li>

Ответы [ 3 ]

2 голосов
/ 05 января 2011

Когда вы используете .css() в jQuery, вы на самом деле не меняете файл CSS и не создаете новые правила CSS. Вы просто добавляете CSS к атрибуту style определенных элементов (встроенный CSS).

Таким образом, вы не можете "нацелить класс наведения" - вы должны что-то сделать при наведении курсора и отменить это при наведении курсора:

$("#menu-item-1099 a:contains('rss')").hover(function() {
    // Hover in, show an img
    $(this).after("<img src='blah.jpg'>");
    // Or alternatively
    $(this).addClass("hasImage"); // Where there is a CSS rule for .hasImage
}, function () {
    // Hover out, remove the img
    $(this).next().remove();
    // Or alternatively
    $(this).removeClass("hasImage");
});
0 голосов
/ 05 января 2011

Вы можете использовать .hover для элемента, например,

  $("#menu-item-1099 a:contains('rss')").hover(function(){
      //change the bacjgound picture
           $(this).addClass("all the class");
        }, function(){

                    //remove it
           $(this).removeClass("all the class");
            }); 

, если вы хотите использовать .toggle ()

$("#menu-item-1099 a:contains('rss')").hover(function(){
          $(this).toggleClass(list the class);
                }); 

, вам нужно только создать класс на вашемтаблицу стилей, сделайте фон нужным вам фоном и поместите его здесь

0 голосов
/ 05 января 2011
   $('a:contains('rss')').live('mouseover mouseout', function (event) {
                if (event.type == 'mouseover') {
                    $(this).css('background-color', '#FFFF99');
                } else {
                    $(this).css('background-color', '#FFFFFF');
                }
            });

это простой способ сделать это.при наведении мыши вы можете показать свое изображение, а при наведении мыши вы можете удалить свое изображение

...