Accedere agli elementi. Dove sbaglio?

di il
2 risposte

Accedere agli elementi. Dove sbaglio?

Ciao a tutti, questo è la parte di codice al quale sto cercando di accedere
<input type=checkbox 
id=grid-table-bulk-checkbox_order2245760369876-26551490355012 
data-lineIds=&lineID=2245763069876 
data-markshipped=false 
data-markpaid=false 
data-quantity=1 
data-lineitemids=2245760693876-26551493055012 
data-linequantities=1 
data-ordernumber=25-082835-09874 
value=2245760698376-26551349055012 
class=order-checkbox name=grid-table-bulk-checkbox_order2245760693876-26551493055012>
Sto cercando di recuperare questi dati
data-ordernumber=25-082835-09874
value=2245760698376-26551349055012

E faccio...
var x = document.querySelectorAll('input[data-ordernumber]');
se faccio alert(x[0].value) mi compare 2245760698376-26551349055012
ma se faccio alert(x[0].data-ordernumber) non mi dà niente
se però faccio alert(x[0].id) mi dà grid-table-bulk-checkbox_order2245760369876-26551490355012

Perché riesco ad accedere solamente a id e value e non al valore di data-ordernumber??
Non riesco a capire dove sto sbagliando

Grazie

2 Risposte

  • Re: Accedere agli elementi. Dove sbaglio?

    Ah ho risolto leggendo leggendo leggendo
    alert(x[5].getAttribute('data-ordernumber'));

    una vita cercando su google come si chiamano quegli attributi inventati dallo sviluppatore
    riuscivo ad accedere quindi solamente agli attributi standard e sapevo che quegli altri non erano standard
    ci sono arrivato leggendo questo sito
    https://betaingegneria.it/2019/03/28/attributi-html-personalizzati/

    Certo è che però mi piacerebbe sapere come "spolpare" quell'array e vedere cosa c'è dentro... perché quel x[5] conterrà credo una sorta di valore come id, value ecc... ma non lo so fare...
    Magari mi aiuterebbe a capire cosa effettivamente mi ha restituito querySelectorAll
    anche perché io ho cercato un attributo particolare data-ordernumber all'interno di qualsiasi input del codice... e mi ha restituito solo quegli input dove all'interno c'era data-ordernumber
    input[data-ordernumber]
    però facendo così mi ha recuperato tutti gli attributi di quell'input
    quindi sarebbe stato uguale fare input[data-lineitemids] ad esempio??
  • Re: Accedere agli elementi. Dove sbaglio?

    melixo ha scritto:


    ma se faccio alert(x[0].data-ordernumber) non mi dà niente
    Scusa, ma quello che hai scritto non è valido nemmeno sintatticamente.
    Usando questa notazione, non puoi usare ovviamente identificativi che contengano un carattere come "-".
    Oltre a questo, nessuno ha mai detto che gli attributi degli elementi diventino automaticamente attributi degli oggetti.

    Secondo me, viste queste problematiche e anche le altre osservazioni che hai fatto nel messaggio seguente, ti conviene studiare le basi del linguaggio JavaScript e il funzionamento del runtime nonché degli oggetti di cui è costituito.

    Ad esempio, questo libro a mio avviso è azzeccato e gradevole.

    Ciao!
Devi accedere o registrarti per scrivere nel forum
2 risposte