Visualizzazione risultati 1 fino 6 di 6

Discussione: Istanziare un'HTMLCollection

  1. #1
    Guest

    Predefinito Istanziare un'HTMLCollection

    Sto creando una funzione il cui risultato deve essere un'HTMLCollection (Non va bene un'array di HTMLElement)
    Il problema è che con
    Codice:
    var result = new HTMLCollection;
    Mi da l'errore Uncaught TypeError: Illegal constructor
    Come posso risolvere?

  2. #2
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,744

    Predefinito

    Non è possibile creare nuove istanze di quell'oggetto. Ma a che ti serve precisamente?

  3. #3
    Guest

    Predefinito

    Ho da poco scoperto il metodo del dom querySelectorAll e ho fatto una funzione per estenderlo su IE8- (che non lo supportato o solo parzialmente)... funziona tutto bene solo che ho il risultato in un array e non in un'HTMLColection, quindi poi non posso utilizzare altre funzioni dom dopo di questa...

    Forse però sono appena riuscito a riuscito a risolvere (nel senso che per ora è solo un idea)...
    Una volta che ho l'array lo vonverto in HTMLCollection con qualcosa tipo...
    Codice:
    var contenitore = document.createElement ("div");
    for (i = 0; i < mioarray.length; i++) {
      contenitore.appendChild (mioarray[i])
    }
    var risultato = contenitore.childNodes
    Solo che così perderei il riferimento all'elemento originale?

  4. #4
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,744

    Predefinito

    Facendo così apporti modifiche al documento, perché vai a spostare i nodi mettendoli dentro un altro elemento. Non ho però ancora ben capito cos'ha in più un HTMLCollection rispetto ad un array, usi per caso il metodo item?

    Ah, poi la proprietà childNodes contiene un'istanza dell'interfaccia NodeList, non di HTMLCollection.
    Ultima modifica di karl94 : 24-04-2014 alle ore 10.22.05

  5. #5
    Guest

    Predefinito

    Usavo namedItem...
    Vabbe, seguirò un'altra strada :D

  6. #6
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,744

    Predefinito

    Beh, potresti pure implementarlo quel metodo, anche se non mi è ben chiara l'utilità: visto che stai usando un selettore CSS puoi filtrare già lì a seconda del nome. Ad ogni modo, perché non usare qualcosa di più pronto e maneggevole come jQuery?

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •