2010-03-02 10 views

Respuesta

14

usted puede hacer esto:

var ids = new Array(); 
$('[id]').each(function() { //Get elements that have an id= 
    ids.push($(this).attr("id")); //add id to array 
}); 
//do something with ids array 

Una nota que vi probar esto, los recuentos de consola de Firebug como uno, si es que está habilitado acaba de ser conscientes.

+4

Re: Firebug - '$ ('cuerpo [id]')' podría ser una mejor opción, entonces, si uno puede estar seguro de que no queremos 'elementos head' o la me gusta. – Matchu

6

creo que esto funcionaría

var array = []; 
$("*").each(function(){ 
    if(this.id) array.push(this.id); 
}); 
9
var ids = $('*[id]').map(function() { 
    return this.id; 
}).get(); 

El método .map() es particularmente útil para obtener o establecer el valor de una colección de elementos.

http://api.jquery.com/map/

+4

Este es el tipo de cosa en la que para algunos es mucho más limpio, y para aquellos que no pueden entenderlo mucho más feo. – Matchu

Cuestiones relacionadas