Visualizzazione dei risultati da 1 a 9 su 9

Discussione: cambiare css a dei div

  1. #1
    Utente di HTML.it L'avatar di KLINKO
    Registrato dal
    Sep 2002
    Messaggi
    285

    cambiare css a dei div

    dovrei cambiare la classe css con javascript a tutti i div che hanno una classe già assegnata

    faccio in questo modo ma non riesco


    var divs = document.getElementsByTagName('DIV');
    for(var no=0;no<divs.length;no++){
    if(divs[no].className=='arancione_on');
    divs.className=='arancione_off'
    }

  2. #2

  3. #3
    Utente di HTML.it L'avatar di KLINKO
    Registrato dal
    Sep 2002
    Messaggi
    285
    si grazie... c'è anche = come errore

    comunque come ho fatto mi seleziona tutti i div
    non mi filtra la classe

  4. #4
    al posto di: divs[no].className='arancione_off'
    metti questo: { divs[no].className='arancione_off' }

    Semplicemente inserisci il codice del if dentro le parentesi graffe; andrebbe fatto sempre, anche se si tratta di una sola riga.

  5. #5
    Mi sembra comunque strano che tu debba fare questa cosa... perchè lo devi fare? Probabilmente ti conviene assegnare una diversa classe al tag body e poi usare una regola css del genere:

    div.classenormale{ aspetto normale }
    body.nuovaclasse div.classenormale{ aspetto speciale }

    Ciao!
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  6. #6
    Utente di HTML.it L'avatar di KLINKO
    Registrato dal
    Sep 2002
    Messaggi
    285
    devo cambiare l'aspetto di tutti i bottoni di un certo tipo ed elevare solo quello onclick
    lo faccio assegnadogli un altra classe

  7. #7
    Originariamente inviato da KLINKO
    devo cambiare l'aspetto di tutti i bottoni di un certo tipo ed elevare solo quello onclick
    lo faccio assegnadogli un altra classe
    Appunto: non hai bisogno di usare un ciclo js per questo; con le regole che ti ho dato basta che assegn tramite js una nuova classe al ody perchè tutti i bottoni di un'altra certa classe cambino aspetto...

    Se mi dai un link alla pagina ti posso anche aiutare direttamente io...
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  8. #8
    Utente di HTML.it L'avatar di KLINKO
    Registrato dal
    Sep 2002
    Messaggi
    285
    lo sto facendo in locale

    ti sarei grato se mi daresti un esempio
    anche solo per comprendere

    grazie

  9. #9
    E' semplice:

    una regola CSS scritta così:

    nometag.nomeclasse

    Seleziona tutti i tag di tipo nometag che hanno nell'attributo class la classe "nomeclasse" (ah, tralaltro nell'attributo class si possono inserire più classi, così: class="classe1 classe2 classe3", e il tag apparterrà a tutte e tre), e fin qui penso ti fosse già chiaro.

    una regola scritta così:

    nometag1.nomeclasse1 nometag2.nomeclasse2

    seleziona invece tutti i tag di tipo nometag2 che hanno classe nomeclasse2 che sono contenuti in tag di tipo nometag1 che abbiano classe nomeclasse1; il che significa che se tu scrivi prima

    input.miobottone {}

    vai a selezionate tutti i tag input che abbiano classe miobottone, mentre se poi aggiungi anche

    body.attivabottoni input.miobottone {}

    dici che SE body ha classe attivabottoni allora gli input che hanno classe miobottone devono recepire ANCHE gli attributi che inserisci lì dentro, oltre a quelli che avevi inserito nella precedente regola.

    Questo naturalmente è quello che serve a cambiare TUTTI i bottoni che hanno classe miobottone solo aggiungendo una classe al body, evitando di dover usare un ciclo js che vada a cambiare la classe di ognuno dei bottoni uno per uno.

    Del tutto diverso è su vuoi cambiare l'aspetto del solo bottone su cui viene fatto click: in questo caso, basta che metti

    onclick="this.class=this.class+' diverso';"

    e poi definisci in

    input.diverso {}

    le caratteristiche in cui è diverso il bottone cliccato.

    Tutto questo discroso NATURALMENTE vale solo se non viene ricaricata la pagina: se il tuo bottone su cui si clicca è un submit, allora la pagina viene ricaricata/ ne viene caricata un'altra, e NON C'E' NESSUN MODO se non usando linguaggi lato server di fare si che quel click provochi un cambiamento nella pagina di destinazione della form.
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.