2012-03-31 7 views
0

나는 내가 만든 몇 개의 html 이미지 태그로 배열을 채 웁니다. 페이지에 버튼을 클릭 한 후jquery [object Object]를 사용 가능한 html 태그로 변경합니다.

$(document).ready(function(){  //populates array with images 
     var shipImgs = $("#thumb_slider").children().each(function(index, element) { 
      var newImg = $("<img />").attr({src: this.src, alt: 'space'}).addClass(index == 0 ? "middle_slot" : (index == 1 ? "left_slot" : "right_slot")); 
      imgArr.push(newImg); 
     }); 

하고,이를 표시해야 함수를 호출 : 그 배열의 내용은 다음 코드를 사용하여 페이지의 실제 이미지로 표시 얻으려고 다음 코드 줄에 basic_div라는 DIV의 이미지 :

배열이 표시
$("#basic_div").html(imgArr[b] + imgArr[a] + imgArr[c]); 

대신 이미지를보고, 당신이 얻을 모든 [개체 개체]입니다. jquery 객체에서 이미지를 표시하기 위해 실제 HTML 코드로 "변환"하는 올바른 방법은 무엇입니까? 작동 중인지 확인하려면 여기에서 찾으실 수 있습니다 : http://www.digitalbrent.com/lab 그리고 나서 증가 버튼을 누르십시오. 감사!

+0

업데이트 : "[object HTMLImageElement]"$ ("# basic_div") .html (imgArr [b] [0] + imgArr [a] [0] + imgArr [c] [0]) ; 이제 이미지를 표시해야합니다. 다른 해결책으로이 솔루션을 얻었습니다. http://stackoverflow.com/questions/7114780/convert-jquery-element-to-html-element –

+0

괜찮 았습니다. .. $ ("# basic_div"). append (imgArr [b] [0]); 더 자세히 조사한 후에 .html()이 개체를 문자열로 변환했기 때문에이 방법이 효과적입니다. 실제로 객체를 표시하려면 .append()를 사용해야했습니다. 도와 줘서 고마워! 다른 사람이이 질문을하는 데 도움이 될 수도 있습니다. 동적으로 생성 된 이미지의 문제점 ^^^ 그 대답을 발견했습니다. –

답변

1

.html 함수는 문자열을 취합니다. 당신은 그것을 지나가고 있습니다 (또는 적어도 당신은 그것들을 모호한 객체의 합계로 보냅니다). 그래서 당신은 IMG 태그 (및 속성)에 대한 리터럴 문자열 배열을 구축, 또는 다음과 같이 뭔가를 하나해야

var newImg = $("<img>"); 
newImg.attr('src', "tiffany-joy-10.jpg"); 
newImg.appendTo('#mydiv') 

나는 그것을 테스트하고 그것을 작동 (그녀는 좋은 :)을 보였다.

+0

빠른 답장을 보내 주셔서 감사합니다. 내 코드에서이 변경 작업을 수행했지만 여전히 이미지를 실제로 표시하지는 않습니다. 나는 문자열을 사용하여 시도했지만 그 작품,하지만 나중에 내 목적을 위해 실제 개체와 배열을 채울 필요가 있도록 각 문자열의 경우 실제 두통이 될 것입니다 각각의 ID와 클래스를 더 쉽게 조작 할 수 있습니다. 디스플레이 할 수있는 다른 방법이 있습니까? –

+0

내 개정 버전보기 ... 추가 기능 또는 유사한 기능을 사용해야합니다. –

관련 문제