2010-11-20 4 views
0
<section class="photos"> 
    <table> 
     <tr> 
      <td><a href="/a"><img src="b.jpg" /></a></td> 
      <td><a href="/a"><img src="b.jpg" /></a></td> 
      <td><a href="/a"><img src="b.jpg" /></a></td> 
     </tr> 
     <tr> 
      <td><a href="/a"><img src="b.jpg" /></a></td> 
      <td><a href="/a"><img src="b.jpg" /></a></td> 
     </tr> 
    </table> 
</section> 

그리고 나서 각각을 반복하여 링크 href와 이미지 src를 반환하려고합니다.jQuery 각 반복 문제

$(".photos td").each(function (index, value) { 
    console.log(value.a.attr('href')); 
    console.log(value.img.attr('src')); 
}); 

위의 깨진 코드는 불행하게도 작동하지 않습니다. 어떤 아이디어?

답변

3

그냥 DOM 노드이므로 value에서 jQuery 메서드를 실행할 수 없습니다. (나는 value 인수 this를 선호하지만,이 경우 같은 것) 먼저 밖으로의 jQuery 객체를 생성 :

$('.photos td').each(function(){ 
    console.log($(this).find('a').attr('href')); 
    console.log($(this).find('img').attr('src')); 
}); 
1

아담은 이미 답을 준,하지만 난 그것을 입력 된 이후 ... 이 시도 : (아담이 사용하는 내가 그 가치를 잊지 마세요 (동일 함)

$(".photos td").each(function (index, value) { 
    console.log($('a', value).attr('href')); 
    console.log($('img', value).attr('src')); 
}); 

를 "값"을 사용하는 동안 "이"는 DOM 요소를 나타내는 이후 유일한 차이점은, 순회 부분에 (. jQuery 요소가 아님), attr()은 jQuery 객체에서만 작동하는 jQuery 메서드입니다. 또한 태그를 닫지 않아야합니까?

1
$(".photos td").each(function (index, value) { 
    console.log($(this).find('a').attr('href')); 
    console.log($(this).find('img').attr('src')); 
});