문제

(때로는) 해당 Rel 및 ID 속성을 가진 두 개의 요소 세트가 있습니다.

<a rel="1" style="display:none"/>
<a rel="2" style="display:none"/>
<a rel="3" style="display:none"/>
and
<p id="1"/>
<p id="3"/>
<p id="chocolate"/>

나는 원한다 <a> a <p> 일치하는 ID를 사용하여 a를 통해로드됩니다 .get() 요구.

필터 ()를 사용한다고 생각했지만 작동 할 수는 없습니다. 나는 시도했다

  $('a').filter(function() {
    return $(this).attr('rel') == $('p').attr('id'); 
  }).show();

이것은 첫 번째 요소에서 작동하는 것처럼 보이지만 Filter ()에 대한 나의 이해는 전체 목록을 거쳐야한다는 것입니다. 감사.

도움이 되었습니까?

해결책

이 시도:

$('a').each(function() {
    var $anchor = $(this);
    $('p').each(function() {
        if($(this).attr('id') == $anchor.attr('rel')) {
            $anchor.show();
        }
    });
});

나는 사용에 대해 확실하지 않습니다 filter 당신이하려고하는 일에 대해 다른 사람이 그것에 대해 약간의 빛을 발할 수 있습니까?

다른 팁

$('p').attr('id') 첫 번째 일치 요소의 ID 만 반환합니다. 따라서 필터 기능은 앵커가 동일하다면 TRUE 만 반환합니다. rel jQuery가 발견 한 첫 번째 단락으로 속성. 그래서 당신은 맞습니다 filter 모든 앵커를 거치지 만 모든 단락을 겪는 것은 아닙니다.

단락이로드되면 ID를 알 수 있습니다. 따라서 다음을 수행 할 수 있습니다.

$('a[rel='+paragraphID+']').show();
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top