2012-07-02 24 views
10

Tengo un div con id testcómo recorrer las divisiones secundarias de un div y obtener los identificadores de los divs secundarios?

y mediante el bucle foreach estoy creando algunos divisores internos dentro del div de prueba. Entonces se vuelve así.

<div id="test"> 
<div id="test-1"></div> 
<div id="test-2"></div> 
<div id="test-3"></div> 
<div id="test-4"></div> 
</div> 

Estoy obteniendo el padre div id "test" en la función javascript. Ahora quiero recorrer los divs internos (divs secundarios) del div de prueba y obtener el id de cada div uno por uno y personalizarlos a través de javascript.

¿Alguna idea acerca de esto?

Respuesta

7

Puede recorrer las divisiones internas mediante la función jQuery .each(). El siguiente ejemplo hace esto, y para cada div interno, obtiene el atributo id.

$('#test').find('div').each(function(){ 
    var innerDivId = $(this).attr('id'); 
}); 
19

Prueba este

var childDivs = document.getElementById('test').getElementsByTagName('div'); 

for(i=0; i< childDivs.length; i++) 
{ 
var childDiv = childDivs[i]; 
} 
0

Usted puede utilizar

$('[id^=test-]') 

y each()

esta manera, por ejemplo:

$('[id^=test-]').each(function(){ 
    var atId = this.id; 
    // do something with it 
});​ 
0

Lo que intenta hacer es recorrer los divisores descendentes directos del #test div; lo haría utilizando el selector de descendientes > y el iterador jQuery .each(). También puede usar los métodos jQuery .css() y .attr() para diseñar y recuperar la identificación, respectivamente.

$("#test > div").each(function(index){ 
    var id = $(this).attr("id"); 
    $(this).css(/* apply styles */); 
}); 
-1

Use jQuery.

Este código se puede addapted a sus necesidades:

$testDiv = ​$('div#test')​​​​​​​​​​​​.first();  
$('div', $testDiv).css("margin", '50px');​​​​ 
3

Aquí está la solución si alguien todavía lo busca

function getDivChildren(containerId, elementsId) { 
    var div = document.getElementById(containerId), 
     subDiv = div.getElementsByTagName('div'), 
     myArray = []; 

    for(var i = 0; i < subDiv.length; i++) { 
     var elem = subDiv[i]; 
     if(elem.id.indexOf(elementsId) === 0) { 
      myArray.push(elem.id); 
     } 
    } 
    return myArray; 
} 
console.log(getDivChildren('test', 'test-')); 
Cuestiones relacionadas