2 Stimmen

Verwendung von jquery .find(), um Kinder zu erhalten

Ich habe das folgende Markup:

Im Grunde genommen möchte ich durchgehen und den ID-Wert in der Klasse item_box erhalten können.

Hier ist der Code, den ich zu verwenden versuche:

$('#items').find(/[id_]/).each(
      function(){
         alert($(this).attr('id'));
      });

Das funktioniert jedoch nicht... ich habe versucht, .children zu verwenden, aber das geht nicht so tief wie diese verschachtelt sind.

Ideen?

Vielen Dank!

3 Stimmen

Der Grund, warum deiner nicht funktioniert hat, war, dass du den "Attribut beginnt mit" Selektor verwenden musstest: $('#items').find("[id^=id_]") oder: $('#items [id^=id_]'')

2voto

PetersenDidIt Punkte 25408
$('#items').find('.item_box').each(function(){
    alert($(this).attr('id'));
});

0voto

artlung Punkte 31996

Du warst sehr nah dran. Hier ist dein Code, modifiziert um nach Kindern von #items zu suchen, die eine ID haben, die mit id_ beginnt

$('#items *[id^=id_]').each(function(){
    alert($(this).attr('id'));
});

0voto

Dhanasekar Punkte 2873
  1. Nach Klasse 'item_box' suchen
  2. Durch sie iterieren, um IDs zu sammeln

    $(function(){

    var child = $('#items').find('div.item_box');
    
    var idArray = new Array();
    
    if(child.length){
    
        $.each(child,function(i,entry){
    
            idArray.push($(this).attr('id'));
    
        });
    
    }
    
    console.log(idArray);

    });

Fiddle Hilfe : http://jsfiddle.net/FFp4B/

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X