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

    Ricerca di tag tramite proprietà personalizzate

    Voglio ricercare Tag differenti (a volte DIV, a volte IMG, a volte A, e altri).
    Ho fatto una funzione che li ricerca, ma non riesco a capire perché non funziona.

    Ecco un esempio del codice contenente i tag:

    <BODY>
    [...]
    <IMG TagProva="uno">
    [...]
    <DIV TagProva="due">[...]</DIV>
    [...]


    E questa è la mia funzione:

    function SearchObject(TagDaCercare) {
    for (i in document.all) {
    if(document.all[i].TagProva){
    alert('-' + document.all[i].TagProva + '==' +
    TagDaCercare + ':' + document.all[i].nodeName +
    '(' + (document.all[i].TagProga == TagDaCercare) +
    ')' );
    if (document.all[i].TagProga == TagDaCercare) {
    alert('trovato');
    return(document.all[i]);
    }
    }
    }
    }


    Arrivo ad un certo punto, che lanciando la funzione SearchObject('uno'); vedo l'alert con la scritta
    -uno==uno:IMG(falso)

    Ma non è giusto!
    Ho provato a vedere anche i typeOf di document.all[i].TagProva e di TagDaCercare e sono entrambi string.
    Perché le stringhe non le riconosce come identiche?
    È una questione di posizioni in memoria? È come il C che per controllare l'uguaglianza tra stringhe si deve usare dei metodi di string? Non mi risulta...

  2. #2
    Mi sono ricordato che ero già incappato in un problema simile e che quindi ho anche la soluzione:

    function SearchObject(TagDaCercare) {
    for (i in document.all) {
    if(document.all[i].TagProva){
    TagTrovato=document.all[i].TagProva;
    alert('-' + TagTrovato + '==' +
    TagDaCercare + ':' + document.all[i].nodeName + '(' + (TagTrovato == TagDaCercare) + ')' );
    if (TagTrovato == TagDaCercare) {
    alert('trovato');
    return(document.all[i]);
    }
    }
    }
    }


    Quello che mi manca di sapere è: Come faccio a sapere se c'è qualche cosa che non va, che la colpa sia di questo? Ovvero, è un buco di JavaScript o c'è qualche regola che mi dice quali sono i casi che non funzionano?

    Thanks

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.