2010-11-30 2 views
0

rel 속성의 각 이미지 링크를 가져 와서 미리로드 할 배열 이미지를 만들려고합니다.jQuery 배열 문제

내가 페이지에 있습니다

preload([ 'images/image-1.jpg', 'images/image-2.jpg', 'images/image-3.jpg', 'images/image-4.jpg']); 

사람이 수 : 페이지가로드 내가 #gallery_thumbs a img의 모든 rel 속성을 얻을과 같이 배열에 다음을 추가해야하는 경우

<div id="gallery_thumbs"> 
    <a><img src="images/image-1-thumb.jpg" rel="images/image-1.jpg" /></a> 
    <a><img src="images/image-2-thumb.jpg" rel="images/image-2.jpg" /></a> 
    <a><img src="images/image-3-thumb.jpg" rel="images/image-3.jpg" /></a> 
    <a><img src="images/image-4-thumb.jpg" rel="images/image-4.jpg" /></a> 
</div> 

도움?

+0

가 서식, 단지 코드의 섹션을 강조 표시하고 맨 위의 '101010 '버튼을 클릭하면 4 칸 이상을 넘을 것입니다. 그리고 markdown이 그것을 멋지게 꾸밀 것입니다. 위의 편집을 클릭하여 내가 조정 한 후 서식이 어떻게 보이는지 확인하십시오 :) –

답변

0
당신은지도 기능을 사용할 수 있습니다

:

$("img").map(function(i,e) { return $(e).attr('rel');}) 
+0

이것이 작동하는 것처럼 보이지만 문자열을 배열로 변환하는 방법은 무엇입니까? –

3

당신이 이렇게 원하는 문자열 배열을 얻을 수 .map()를 사용할 수 있습니다 이유를 이동합니다 href이없는,

var arr = $("#gallery_thumbs img").map(function() { 
      return $(this).attr("rel"); 
      }).get(); 
preload(arr); 
이름없이

<a> 또는 href 비록 유효하지 않습니다 원하는 이미지 (정상적으로 성능이 저하 될 수 있음)를 확인하고 JavaScript에서 해당 작업을 방지 할 수 있습니까? 마크 업이과 같습니다

<div id="gallery_thumbs"> 
    <a href="images/image-1.jpg"><img src="images/image-1-thumb.jpg" /></a> 
    <a href="images/image-2.jpg"><img src="images/image-2-thumb.jpg" /></a> 
    <a href="images/image-3.jpg"><img src="images/image-3-thumb.jpg" /></a> 
    <a href="images/image-4.jpg"><img src="images/image-4-thumb.jpg" /></a> 
</div> 

너무 간단 위의 스크립트를 만들기 :

var arr = $("#gallery_thumbs a").map(function() { return this.href; }).get(); 
preload(arr); 
+0

Firefox에서이 정의가 반환됩니다. –

+0

@ 칠 - 첫 번째? 'rel'은 유효하지 않은 속성입니다. 그래서 가능한 경우 두 번째 태그를 사용합니다. –

+0

배열에서 미리로드 할 수없는 것처럼 보일 수도 있습니다. –