2012-03-21 2 views
0

следующие сигналы кода: "Объект Object"Как превратить объект jquery в полезный html?

var shipImgs = $("#div").children(); 
alert(shipImgs); 

ДИВ содержит 4 детей (изображение метки).

<div id="div"> 
    <img src="/imgs/spaceship_still.jpg" alt="space"/> 
    <img src="/imgs/spaceship_laser.jpg" alt="space"/> 
    <img src="/imgs/spaceship_motion.jpg" alt="space"/> 
    <img src="/imgs/spaceship_destroyed.jpg" alt="space"/> 
</div> 

Я хочу, чтобы каждое из этих изображений добавлялось в массив. Но прежде чем я могу это сделать, мне нужно знать, как обращаться с shipImgs ... Как я могу получить доступ к этому объекту и заставить html нажать массив?

ответ

2

если DIV имеет более одного ребенка, то $("#div").children уже вернет вам массив

http://jsfiddle.net/jBVZU/


или вы хотите, чтобы получить массив imgsrc ??

var shipImgs = $("#div").children(); 
console.log(shipImgs); 

var imgArr=[]; 

$.each(shipImgs,function(i,elem){ 
imgArr.push($(elem).attr("src")); 
}); 
console.log(imgArr); 

DEMO

+0

простыми словами, объекты JQuery только массивы с «декоративными методами» – Joseph

+0

Спасибо @ 3nigma, то вторая часть была именно то, что я искал! –

+0

рад, что помог – Rafay

0

Попробуйте это. Он сохранит фактическую строку html изображения в массиве.

var imageArray = [], 
shipImgs = $("#div").children(); 

shipImgs.each(function() { 
    var imghtml = $(this); 

    imageArray.push(imghtml.wrap('<div />').parent().html()); 
}); 
Смежные вопросы