2013-03-06 7 views
19

Mam następujący fragment kodu HTML/CSS, który służy do wyświetlania stron na podstawie liczby wierszy pobranych z bazy danych.Jak zastosować klasę CSS po najechaniu na dynamicznie generowane przyciski przesyłania?

.paginate { 
 
    font-family:Arial,Helvetica,sans-serif; 
 
    padding:3px; 
 
    margin:3px; 
 
} 
 

 
.disableCurrentPage { 
 
    font-weight:bold; 
 
    background-color:#999;color:#FFF; 
 
    border:1px solid #999; 
 
    text-decoration:none;color:#FFF; 
 
    font-weight:bold; 
 
} 
 

 
.paging { 
 
    cursor: pointer; 
 
    background-color: transparent;border:1px solid #999; 
 
    text-decoration:none; 
 
    color:#9CC; 
 
    font-weight:bold; 
 
}
<div class='paginate'> 
 
    <input type="submit" name="btnFirst" value="First" 
 
      class="disableCurrentPage" disabled="disabled"/> 
 
    <input type="submit" name="btnPrev" value="Previous" class="paging"/> 
 
     
 
    <input type="submit" name="btnPage" value="1" 
 
      class="disableCurrentPage" disabled="disabled"/> 
 
    <input type="submit" name="btnPage" value="2" class="paging"/> 
 
    <input type="submit" name="btnPage" value="3" class="paging"/> 
 
    <input type="submit" name="btnPage" value="4" class="paging"/> 
 
    <input type="submit" name="btnPage" value="5" class="paging"/> 
 
    <input type="submit" name="btnPage" value="6" class="paging"/> 
 
    <input type="submit" name="btnPage" value="7" class="paging"/> 
 
    <input type="submit" name="btnPage" value="8" class="paging"/> 
 
    <input type="submit" name="btnPage" value="9" class="paging"/> 
 
    <input type="submit" name="btnPage" value="10" class="paging"/> 
 
     
 
    <input type="submit" name="btnNext" value="Next" class="paging"/> 
 
    <input type="submit" name="btnLast" value="Last" class="paging"/> 
 
</div>

Upto tego nie ma wątpliwości. Chcę zastosować klasę CSS podobną do tych wszystkich przycisków po najechaniu myszą.

.button:hover { 
    border:1px solid #999; 
    color:#000; 
} 

Przyciski te z atrybutem name btnPage są generowane dynamicznie w pętli. Dlatego uważam, że niewygodne jest zastosowanie poprzedniej klasy CSS opartej na atrybucie id.

Jak zatem zastosować tę klasę do przycisków po najechaniu myszą?

Odpowiedz

31

Dodaj poniższy kod

input[type="submit"]:hover { 
    border: 1px solid #999; 
    color: #000; 
} 

Jeśli potrzebne jest tylko dla tych przycisku możesz dodać nazwę id

#paginate input[type="submit"]:hover { 
    border: 1px solid #999; 
    color: #000; 
} 

DEMO

+1

ten będzie skierowany wszystkich wejść, a nie te z nazwą btnPage przypisują jako Tiny zapytałem. –

+0

@GeorgeKatsanos Poprosił o wszystkie przyciski (chcę zastosować klasę CSS podobną do tych wszystkich przycisków po najechaniu myszą.). Te przyciski z atrybutem nazwy btnPage są generowane dynamicznie, więc nie jest dobrym pomysłem przypisanie nazwy klasy, której nie możesz podać nazwy klasy dla dynamicznie generowanych przycisków. To właśnie on mówi: – Sowmya

+0

Cóż, jego angielski nie jest idealnie oczywisty ... Myślę, że powinien wyjaśnić. Jeśli chce, żeby wszystkie wejścia miały jakąś stylizację, to zrobi to #paginate input {}, ale nie rozumiem, dlaczego musiał wymienić nazwę btnPage atrybut .. –

3

Masz dwie opcje :

  1. Rozszerz swoją definicję .paging Klasa:

    .paging:hover { 
        border:1px solid #999; 
        color:#000; 
    } 
    
  2. Użyj hierarchii DOM zastosować styl CSS:

    div.paginate input:hover { 
        border:1px solid #999; 
        color:#000; 
    } 
    
6

Najbardziej wydajny selektor można użyć to attribute selector.

input[name="btnPage"]:hover {/*your css here*/} 

Oto żywo demo: http://tinkerbin.com/3G6B93Cb

+0

To nie działa po dodaniu niestandardowego stylu http://tinkerbin.com/noZjmZkA Rezultatem wyświetlanym na stronie jest domyślny styl aktywowania przycisku – Sowmya

+0

Zmieniłeś mój przykład, to nie jest to, co wkleiłem. –

+0

Zmieniłem, aby pokazać Ci efekt. Powinien działać z tym stylem. W twoim demo, jeśli usuniesz css również daje ten sam wynik – Sowmya

Powiązane problemy