Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di salasir
    Registrato dal
    Apr 2004
    Messaggi
    1,881

    Collegamento ipertestuale su TR

    Avrei la necessità di rendere cliccabile tutta la riga di una tabella a fronte di un link su una qualsiasi delle celle della riga.
    Ho provato a riutilizzare questo script previsto inizialmente per un <div> copiato da una risposta di Pierofix di un po' di tempo fa.
    Ma la mia scarsa conoscenza di js mi blocca. Riesco ad ottenere il risultato solo sulla prima riga e solo se il link è nella prima cella.

    Qualcuno mi dice se si può fare e come?
    codice:
    window.onload = function()
    
    {
       // Preleviamo tutti i tr a cui ci interessa applicare il nostro effetto.
       // Io li ho identificati nel mark-up con la classe 'informazione'
       var TR = document.getElementsByTagName('tr')
       var informazioni = new Array()
          for (var i = 0; i < TR.length; i++)
          {
             if ( TR.item(i).className == 'informazione' )
             {
                informazioni.push(TR.item(i))
             }
          }
    
       // Creiamo una funzione che legga il link
       // e lo attribuisca all'intero tr
       function attribuisci_link(elemento)
       {
       var TD = document.getElementsByTagName('td')
          for (var y = 0; y < TD.length; y++)
          {
    	      var titolo = elemento.getElementsByTagName('td').item(y)
    	      var collegamento = titolo.getElementsByTagName('a').item(y)
    	      var collegamento_link = collegamento.getAttribute('href')
    
    	      elemento.onclick = function()
    	      {
    	         location.href = collegamento_link
    	      }
    
    	      elemento.onmouseover = function()
    	      {
    	         this.className += ' over'
    	      }
    	      elemento.onmouseout = function()
    	      {
    	         this.className = this.className.replace(' over', ' ')
    	      }
          }
       }
    
       // Attribuiamo la funzione a tutti
       // i tr interessati
       for (var i = 0; i < informazioni.length; i++)
       {
          attribuisci_link(informazioni[i])
       }
    }
    La tabella di prova è così strutturata:
    Codice PHP:
    <table border="1">
        <
    tr class="informazione"><td>[url="news/link1.html"]cella 1.1[/url]</td><td>cella 1.2</td></tr>
        <
    tr class="informazione"><td>cella 2.1</td><td>[url="news/link2.html"]cella 2.2[/url]</td></tr>
        <
    tr class="informazione"><td>cella 3.1</td><td>cella 3.2</td></tr>
    </
    table
    Maurizio

    "se ami il lavoro che fai, non lavorerai mai un giorno in vita tua!"

  2. #2
    Utente di HTML.it L'avatar di salasir
    Registrato dal
    Apr 2004
    Messaggi
    1,881
    Up.
    Maurizio

    "se ami il lavoro che fai, non lavorerai mai un giorno in vita tua!"

  3. #3
    Utente di HTML.it L'avatar di salasir
    Registrato dal
    Apr 2004
    Messaggi
    1,881
    Nessuno sa darmi indicazioni?
    Maurizio

    "se ami il lavoro che fai, non lavorerai mai un giorno in vita tua!"

  4. #4
    Utente di HTML.it L'avatar di salasir
    Registrato dal
    Apr 2004
    Messaggi
    1,881
    Maurizio

    "se ami il lavoro che fai, non lavorerai mai un giorno in vita tua!"

  5. #5
    Utente di HTML.it L'avatar di salasir
    Registrato dal
    Apr 2004
    Messaggi
    1,881
    Se pensate che sia nel posto sbagliato, spostatemi pure dove ritenete più oppurtuno per la discussione.
    Maurizio

    "se ami il lavoro che fai, non lavorerai mai un giorno in vita tua!"

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.