Visualizzazione dei risultati da 1 a 4 su 4

Discussione: GetElementsByTagName

  1. #1

    GetElementsByTagName

    Salve a tutti i geni di HTML.it

    var lista_p = document.getElementsByTagName("p");
    for(i=0; i < lista_p.length; i++) {
    if(lista_p.item(i).style.color == "#666666"){
    lista_p.item(i).style.color = "#000000";
    }

    sto usando questo script per modificare il colore dei paragrafi da grigio a nero

    solo che la quando lancio la funzione il comando non viene eseguito in quanto la condizione del ciclo if da: false

    i paragrafi sono formattati dal seguente css esterno:

    p {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    color:#666666;
    }

    come mai il ciclo if restituisce false invece di true?

    Grazie
    Luca

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    perche' lo style che verifichi in questo modo e' unicamente quello settato in linea (neanche ereditato vale) o, nello specifico del tutto equivalente, settato a priori via javascript stesso

    ora, dal momento che non si parla di dimensioni di un elemento (che possono essere rilevate anche con una certa approssimazione senza riferirsi allo stile)
    la soluzione meno dolorosa potrebbe essere un primo passaggio in cui il colore viene settato da js come stile in linea

    elemento.style.color='#666666';

    oppure appoggiarsi in tutto e per tutto ad un sistema di classi, per cui gia' al caricamento i p in questione hanno una classe specifica, il cui nome verifichi prima di effettuare qualsiasi cambio allo stesso

    spero sia tutto comprensibile...

  3. #3
    Grazie

    una domanda:

    per settare da javascript il colore del carattere ho provato ad usare il seguente codice

    var lista_p = document.getElementsByTagName("p");
    lista_p.style.color = "#666666";

    e mi dice che style è nullo o non è un oggetto.

    quindi ho provato con:

    var lista_p = document.getElementsByTagName("p");
    lista_p.color = "#666666";

    e non da nessun errore ma non formatta i paragrafi.

    La mia domanda è:

    per formattare i paragrafi da javascript devo per forza scorrere tutto l'array dei paragrafi o c'è un modo per identificarli univocamente tutti insieme?

    Grazie
    Luca

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    Originariamente inviato da lucavizzi
    devo per forza scorrere tutto l'array dei paragrafi ... ?
    si'

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 © 2026 vBulletin Solutions, Inc. All rights reserved.