Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Errore su style.display

    Ciao a tutti, ho questos emplice script:

    codice:
    const cntSpeakersH = document.querySelectorAll(".cnt-speakers-h");
    cntSpeakersH.style.display = "block";
    Mi da questoe rrore:
    Uncaught TypeError: Cannot set properties of undefined (setting 'display')

    se faccio:

    codice:
    alert(cntSpeakersH.lenght);
    Mi da 1 quindi il nodo ce perche spaglio la proprietà?

  2. #2
    Ok risolto sbagliano con document.querySelectorAll che doveva essere semplicemente document.querySelector

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Un selettore CSS può corrispondere a più elementi, anzi molto spesso è proprio così, quindi querySelectorAll ti fornisce tutti gli elementi che soddisfano il selettore specificato, ergo il valore restituito è un array di elementi.

    La proprietà display è disponibile su uno degli elementi, non sull'array, ovviamente.

    P.S.: impostare le proprietà di stile CSS tramite JavaScript si può ottimizzare usando le classi (da aggiungere o togliere dall'elemento) e definendo gli stili dentro ai CSS. E' una strada più performante e manutenibile, soprattutto quando gli stili da modificare sono tanti e non solo il "display" in questo caso.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

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.