При этом цвет шрифта не меняется

0

У меня есть поле ввода, которое, когда пользователь начнет печатать, отобразит div со списком возможных клубов, которые они могут выбрать.

Я просто пытаюсь добавить в нее некоторый стиль, и у меня возникла проблема с моим классом.clubLink: hover.

CSS:

<style>
    .clubList { display: none; width: 250px; margin-top: -5px; margin-left: -4px; border: 1px solid; }
    .clubLink { width: 240px; padding: 5px; }
    a { text-decoration: none; color: black; font-size: 10px; }
    a:hover { color: #FFFFFF; }
    .clubLink:hover { background-color: #0066FF; color: #FFFFFF; }  
</style>

HTML/ColdFusion:

<table width="450" cellpadding="0" cellspacing="0" class="content">
    <tr>
        <th colspan="2" class="content">Club Select</th>
    </tr>
    <tr class="content2">
        <td>
            <table width="100%" cellpadding="0" cellspacing="0">
                <tr>
                    <td align="left" class="content"><strong>Please Select a Club:</strong></td>
                    <td align="left"><input type="text" name="clubFilter" id="clubFilter" class="formItem"></td>
                </tr>
                <tr>
                    <td align="left">&nbsp;</td>
                    <td align="left" class="content">   
                        <div id="clubList" class="clubList">
                            <cfloop query="Variables.getClubs">
                                <div class="clubLink">
                                    <span class="clubName"><a href="passwordreset.cfm?cid=#clubID#">#clubName#</a></span>
                                </div>
                            </cfloop>
                        </div>
                    </td>
                </tr>
            </table>
        </td>
    </tr>
</table>

JQuery:

<script>    

$('#clubFilter').bind("keyup", function() {
    var text = $(this).val().toLowerCase();
    var items = $(".clubName");

    items.parent().hide();

    items.filter(function () {
        return $(this).text().toLowerCase().indexOf(text) > -1;
    }).parent().show();

    $('#clubList').css("display", "block");
});

</script>

Когда я перебираю клубный рекорд div (класс clubLink) в отфильтрованном списке, цвет фона меняется, но цвет шрифта остается черным.

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

Кто-нибудь знает, где я ошибаюсь?

Большое спасибо

Теги:

3 ответа

1
Лучший ответ

использование

.clubLink:hover { background-color: #0066FF; color: #FFFFFF; }  
.clubLink:hover a{color: #FFFFFF; }  
  • 0
    Спасибо - это разобрано. Приму это как ответ через 8 минут (когда это позволит)
0

Вы меняете цвет шрифта div, но цвет текста задается символом a поэтому имеет смысл, что он остается неизменным при зависании div. То, что вы хотите сделать, a наследовать цвет div.

http://jsfiddle.net/sY4Gf/

 .clubList {
     display: none;
     width: 250px;
     margin-top: -5px;
     margin-left: -4px;
     border: 1px solid;
 }
 .clubLink {
     width: 240px;
     padding: 5px;
     color:red; /* for testing */
 }
 a {
     text-decoration: none;
     font-size: 10px;
     color:inherit;
 }
 .clubLink:hover {
     background-color: #0066FF;
     color: #FFFFFF;
 }
0

У вашего якоря должен быть display:block значение display:block, которое должно срабатывать при наведении на элемент .clubLink

  • 0
    Извините за мое невежество, но почему?
  • 0
    Потому что он будет занимать пространство только как его содержимое (как и встроенный элемент). Имея отображаемое значение, установленное в блок, займет все родительское пространство

Ещё вопросы

Сообщество Overcoder
Наверх
Меню