2010-06-11 6 views

Respuesta

35
var arraysOfIds = $('#particularDivId img').map(function(){ 
         return this.id; 
        }).get(); 

// arraysOfIds has now all the id's, access it as arraysOfIds[0], arraysOfIds[1].... 
+2

Ahh, genial. Aprendí algo nuevo con la función .map(). Sin embargo, al mirar la documentación, ¿por qué necesita la llamada .get() al final? Acabo de probar tu código sin él y funcionó bien. Newbie queriendo aprender. –

+0

Daría este +10 si pudiera, buen truco. – raffian

10

cálculo aproximado, pero trate de:

var imgIds = new Array(); 

$("div#divID img").each(function(){ 
    imgIds.push($(this).attr('id')); 
}); 

No ha dado el nombre de la div, pero yo he utilizado divId como el id de la div. Simplemente cambie eso para satisfacer sus necesidades.

+0

que es mejor usar una matriz, no es una cadena del niño. – icktoofay

+0

Hola. Sí, cometí un error, simplemente lo solucioné. Doh !!! Demasiado temprano para mi –

9

Utilice un selector de elementos secundarios. Por lo que su diciendo Quiero que todos los elementos 'img' de div #myDiv

$("#myDiv > img").css("border", "3px double red"); 

http://api.jquery.com/child-selector/

+0

Quería que esto funcionara, cuando reemplacé $ ('img'). DoStuff(); con $ ("# contenido> img"). doStuff(); ya no hace cosas. Probé también citas simples y contenido div #. – Muskie

+0

Mi solución fue utilizar el selector descendiente no hijo. [link] (http://api.jquery.com/descendant-selector/) – Muskie

+0

Esto NO selecciona todos los elementos hijo img de un div sino simplemente los descendientes directos. –

3
function textOnly() { 
      jQuery('#dvContent img').each(function() { 
       jQuery(this).css('display', 'none'); 
      }); 
     } 
Cuestiones relacionadas