2013-08-05 3 views
0

이것은 첫 번째 링크를 찾는 것입니다. 모든 링크를 통해 반복되지 않는 이유는 무엇입니까?모든 링크를 반복하고 href를 찾으십시오

http://jsfiddle.net/infatti/7r4fV/

var alertHref = $('#myLinks').find('a').attr('href'); 

$('#myDivs').find(alertHref).css('background-color', 'yellow'); 

<span id="myLinks"> 
    <a href="#div1">link 1</a> 
    <a href="#div2">link 2</a> 
</span> 
<hr /> 
<div id="myDivs"> 
    <div id="div1">div 1</div> 
    <div id="div2">div 2</div> 
</div> 
+0

루프()'. – j08691

+0

루프를 작성하지 않았기 때문에. – SLaks

+0

더러운 방법 : http://jsfiddle.net/K9m96/1/ – Ian

답변

1

하나 이상을 반복하는 데 사용할 jQuery.each.

사용하여 Fiddle :

var hrefs = $('#myLinks').find('a[href]') 
          .map(function(){ return this.hash; }) 
          .get(); 

$('#myDivs').find(hrefs.join(',')).css('background-color','yellow'); 
2

find('a') 모든 a 요소의 목록을 반환하지만의 HREF를 .attr('href') 반환

var $hrefs = $('#myLinks').find('a[href]'); 
var $myDivs = $('#myDivs'); 

$hrefs.each(function(index,link){ 
    $(link.hash,$myDivs).css('background-color','yellow'); 
}); 

또한 map (fiddle)를 사용할 수 있습니다 첫 번째 링크 만.

당신은 a 요소를 통해 루프를 필요 .each`와

http://jsfiddle.net/Gj2R9/

$('#myLinks a').each(function() { 
    $($(this).attr('href')).css('background-color', 'yellow'); 
}); 
+0

find와 attr 사이의 설명을 보내 주셔서 감사합니다. – simple

관련 문제