2010-11-09 13 views
2

Cette question semble facile, mais je ne peux pas le faire correctement.Jquery: Traverser li et obtenir l'élément au sein

<ul id="myUL"> 
    <li id="item1"> 
     <select class="partDesc"><option>Front</option><option>Rear</option></select> 
     <input type="text" class="itemDesc"> 
     <img src="images/myimg.jpg" class="itemImg" > 
    </li> 
    <li id="item2"> 
     <select class="partDesc"><option>Front</option><option>Rear</option></select> 
     <input type="text" class="itemDesc"> 
     <img src="images/myimg.jpg" class="itemImg" > 
    </li> 
</ul> 

Ces <li> éléments sont dynamiquement ajoutés à l'aide jquery. Je veux traverser ces articles <li> et obtenir toutes les entrées, y compris la valeur sélectionnée de partDesc, le texte de itemDes et src de itemImg.

Voici où je coincé:

$("#myUL li").each(function() {<br> 
    var partDesc = $(this).??;<br> 
    var itemDesc = $(this).??;<br> 
    var itemImg = $(this).??;<br> 
}); 

Merci pour la lecture.

Répondre

2

Le script suivant devrait vous aider. voici le demo

$("#myUL li").each(function() { 
    var partDesc = $(this).find('.partDesc').val(); 
    var itemDesc = $(this).find('.itemDesc').val(); 
    var itemImg = $(this).find('.itemImg').attr('src'); 
    alert('partDesc: '+partDesc); 
    alert('itemDesc: '+itemDesc); 
    alert('itemImg: '+itemImg); 
}); 
+0

Wow, si vite. Je vous remercie. – Dreteh

1
$("#myUL li").each(function() { 
    var partDesc = $(this).children("select:selected").text(); 
    var itemDesc = $(this).children("input").val(); 
    var itemImg = $(this).children("img").attr("src"); 
}); 
+0

Nous vous remercions de votre réponse rapide. – Dreteh