Visualizzazione dei risultati da 1 a 10 su 10

Discussione: Problema id

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    4

    Problema memorizzare un' Id dinamico

    Salve a tutti!
    sono nuovo del forum ma me la cavo abbastanza bene con diversi linguaggi di programmazione...
    Ora ho un bel problema che mi ha tenuto tutto il giorno attaccato al pc senza venirne a capo.

    Devo salvare dentro una lista tutti gli id di una pagina html di una speficica img

    Vi mostro la parte html:

    codice:
    <table width="600" style="margin:0 auto;border-collapse:collapse;" cellpadding="0">
    			<tr>
    				<td class="harvest_td">
    					[img]img/new-design-blau/f/0.jpg[/img]				
    				</td>			
    				<td class="harvest_td">
    					<span id="lid73918">
    					<a href="index.php?ac=plantage&amp;bau=1&amp;pid=73918" onclick="javascript:doAction('+', '73918', '0');return false;">
    						
    
    
    [img]img/new-design-blau/f/1.jpg[/img]
    
    
    
    
    					</a>
    					</span>					
    				</td>
    			</tr>
    		</table>

    La parte che mi interessa è il tag <img> dal quale devo prelevare l'id che è dinamico.


    Io ho utilizzato il seguente codice smanettandoci su tutto il tempo...

    codice:
    var campi
    if(document.getElementsByTagName) {
     var aux = document.getElementsByTagName("img");
     for(i=0; i < aux.length; i++)
      if(aux.item(i).getAttribute("src") == "img/new-design-blau/f/1.jpg")
        campi = aux.item(i).id;
      alert(campi.getAttribute("id"))
    }

    con parole semplici ho messo in aux tutti i tag <img>
    poi controllo quali tra questi hanno all'attributo src specifico (Quello non cambia mai...)
    e poi metto nella variabile campi l'id che teoricamente avrei trovato ma non succede...


    Dove sbaglio?

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    potrebbe essere perché l'scr si riferisce al path assoluto, prova cosi:
    if(aux.item(i).getAttribute("src") == "http://www.miosito.xxx/img/new-design-blau/f/1.jpg") e racchiudi il for e if nelle parentesi {}
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    poi, anche ammesso che il controllo funzioni, vai a sovrascrivere sempre campi:
    l' alert non potra' restituirti piu' dell' ultimo trovato

    e campi di per se' non ha un id
    questo alert(campi.getAttribute("id")) non puo' che essere sempre un errore

    se campi fosse un array
    var campi=[]

    e lo riempi nel ciclo
    campi[campi.length] = aux.item(i).id;

    salvi tutti gli id

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    4
    ho provato entrambe le cose suggerite ma non mi esce proprio l'alert...

    Ho provato un'altra cosa:

    codice:
    if(document.getElementsByTagName) {
    
     var aux = document.getElementsByTagName("img");
     alert(aux.length) 
     for(i=0; i < aux.length; i++)
      if(aux.item(i).getAttribute("src") == "img/new-design-blau/f/1.jpg")
       campi[i] = aux.item(i).id;
    e mi da come risultato 0...

    quindi il mio problema è quel getelementsbytagname che non trova tutte le img...
    Nella pagina html ci altre 4 o 5 tag img che non rileva...



    Edit:

    scusa altra domanda...
    su internet ho visto diversi modi per prendere un tag...

    aux.item(i).getAttribute("src") -> quello che uso io
    e
    aux.item(i).src -> quello che ho trovato su internet

    cosa cambia?

  5. #5
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Posta un link alla pagina pubblica
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  6. #6
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    Originariamente inviato da Neremir
    e mi da come risultato 0...
    quando esegui quel codice?
    lo esegui onload o comunque in un momento in cui il documento (o almeno l' alberatura xhtml) e' sicuramente gia' stato completamente caricato?

    molto in generale, getAttribute e' piu' fedele a quanto ti aspetti di trovare nel markup:
    se di un' immagine chiedi l' src, il browser e' libero di mostrarti quel percorso per come lo intende lui (per esempio tu hai scritto "immagine.jpg" nel markup, lui puo' restuire "file:///C:/Documents%20and%20Settings/Administrator/Desktop/immagine.jpg"),
    se lo chiedi via getAttribute avrai il percorso che hai specificato nel markup ("immagine.jpg")

    se chiedi il getAttribute di un attributo che non hai settato nel markup avrai null o una stringa vuota, se chiedi direttamente l' attributo avrai il valore che assume di default quando non specificato

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    4
    Originariamente inviato da Xinod
    quando esegui quel codice?
    lo esegui onload o comunque in un momento in cui il documento (o almeno l' alberatura xhtml) e' sicuramente gia' stato completamente caricato?

    molto in generale, getAttribute e' piu' fedele a quanto ti aspetti di trovare nel markup:
    se di un' immagine chiedi l' src, il browser e' libero di mostrarti quel percorso per come lo intende lui (per esempio tu hai scritto "immagine.jpg" nel markup, lui puo' restuire "file:///C:/Documents%20and%20Settings/Administrator/Desktop/immagine.jpg"),
    se lo chiedi via getAttribute avrai il percorso che hai specificato nel markup ("immagine.jpg")

    se chiedi il getAttribute di un attributo che non hai settato nel markup avrai null o una stringa vuota, se chiedi direttamente l' attributo avrai il valore che assume di default quando non specificato
    il codice JS lo eseguo a pagina html caricata.

    Se l'immagine che stò cercando non è sul mio pc ma su un'altro (quindi server) allora mi conviene chiedere direttamente l'attributo.

  8. #8
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    si', ma probabilmente in questo caso e' una sottigliezza: come faresti a puntare ad un' immagine appartenente ad un altro dominio se non specificando l' intero percorso?

  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    4
    Originariamente inviato da Xinod
    si', ma probabilmente in questo caso e' una sottigliezza: come faresti a puntare ad un' immagine appartenente ad un altro dominio se non specificando l' intero percorso?
    mmm... bella domanda...

    ma teoricamente io non devo puntare a quell'immagine... cioè l'immagine mi serve solo per il confronto.

    quello che mi serve è solo memorizzare in un elenco tutti i tag così:

    codice:
    [img]img/new-design-blau/f/1.jpg[/img]
    Nella quale cambia l'id da immagine a immagine...


    Tenendo presente la parte di codice scritta precedentemente, al posto di fare:

    codice:
    if(aux.item(i).getAttribute("src") == "img/new-design-blau/f/1.jpg")
    posso cambiare e controllare una cosa che non cambia mai come:

    codice:
    if(aux.item(i).getAttribute("class") == "harvest_img")
    ma il mio problema rimane sempre il .getElementsByTagName("img") che non memorizza niente...

    Edit:

    mi potete scrivere un'esempio funzionante all 100% (xè su internet ce ne sono tanti e non me ne va neanche uno) con piccola pagina html e codice javascript del .getElementsByTagName("img")

    Grazie.

  10. #10
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    Originariamente inviato da Neremir
    non me ne va neanche uno
    senti, se non te ne va neanche uno il problema dev' essere altrove
    dove non possiamo immaginarlo

    corretto come suggerito normalmente lo script funzionerebbe.

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.