Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2011
    Messaggi
    192

    Trovare tutti gli id dei div che appartengono ad una tabella

    Allora, ho necessita di sapere gli id di tutti i div disposti nelle varie righe di una tabella. devono essere ordinati in base a come vengono trovati nella tabella, quindi se io ho:
    codice:
    <table id='tableid'>
       <tr>
          <td>
              <div id='c'></div>
          </td>
       </tr>
       <tr>
          <td>
              <div id='a'></div>
          </td>
       </tr>
       <tr>
          <td>
              <div id='b'></div>
          </td>
       </tr>
    </table>
    Vorrei che venissero inseriti tutti gli id dei div all'interno della tabella che ha come id ='tableid', nell'ordine c, a, b in un array. Chiaramente questo era solo un esempio infatti l'ordine dei div varia in base a molti fattori. Ho necessità pure di inserire le coordinate Y di ogni div affianco ad ogni relativo id.
    Sto realizzando un drag and drop per la gestione amministrativa delle sezioni di un forum.

    Grazie per ogni aiuto e supporto.

  2. #2
    codice:
    var arr_div_id = new Array();//array che conterrà i risultati
    var arr_div=document.getElementById('tableid').getElementsByTagName('div');
    for(var i=0; i<arr_div.length; i++){
        arr_div_id.push(arr_div[i].id);
    }

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2011
    Messaggi
    192
    Grazie mille.
    Ultima cosa: come faccio a trovare la coordinata Y di un div?
    EDIT: Rispetto all'angolo in alto a destra dello schermo, quindi del body

  4. #4
    document.getElementById("IdElemento").offsetLeft;
    document.getElementById("IdElemento").offsetTop;

    Queste proprietà sono in sola lettura.

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2011
    Messaggi
    192
    Funzionano ma non ottengo il risultato sperato.
    Infatti nella tabella ottengo come valore sempre 0, in tutte e tre le righe della tabella

  6. #6
    0 come offsetTop?

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2011
    Messaggi
    192
    si

  8. #8
    Perchè tutti i div sono a zero pixel top dal rispettivo td.
    Per conoscere il left ed il top assoluti puoi usare offset() di jQuery oppure:
    codice:
    <script type="text/javascript">
    function findPos(obj) {
    	var curleft = curtop = 0;
    	if (obj.offsetParent) {
    		do {
    				curleft += obj.offsetLeft;
    				curtop += obj.offsetTop;
    			} while (obj = obj.offsetParent);
    		return [curleft,curtop];
    	}
    }
    window.onload=function(){
    	alert(findPos(document.getElementById('c')));
    }
    </script>
    <table id='tableid'>
       <tr>
          <td>
              <div id='c'>c</div>
          </td>
       </tr>
       <tr>
          <td>
              <div id='a'>a</div>
          </td>
       </tr>
       <tr>
          <td>
              <div id='b'>b</div>
          </td>
       </tr>
    </table>

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2011
    Messaggi
    192
    Grazie ^^

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.