2014-10-31 2 views
1

제발 저를 도울 수 있는지 궁금합니다. 나는 현재 목록 항목을보고하고 다음 중 하나를보고 한 후 때까지 다음 하나는 이름 테스트 2와 IMG을 발견하는 방법을 싶습니다jquery를 사용하여 목록을 반복하십시오.

<li class="active"> 
    <div class="holder"> 
      <img src="#" data-name="test1"> 
    </div> 
</li> 
<li> 
    <div class="holder"> 
      <img src="#" data-name="test1"> 
    </div> 
</li> 
<li> 
    <div class="holder"> 
      <img src="#" data-name="test2"> 
    </div> 
</li> 
<li> 
    <div class="holder"> 
      <img src="#" data-name="test1"> 
    </div> 
</li> 

: 나는 아래의 코드를 . 나는 현재 요소를 얻을 수 있었다. 그리고 다음 요소를 얻을 수있는 방법을 찾았습니다. 그러나 그 요소에 의존하는 다음 요소는 아닙니다.

아무도 도와 줄 수 있습니까?

미리 감사드립니다. 답의 모든

편집

안녕하세요 모두 감사합니다. 지금은 단 한가지 문제가 있습니다. 아래의 코드를 참조하십시오 : TEST2 이름

<li class="active"> 
    <div class="holder"> 
     <img src="#" data-name="test2"> 
    </div> 
</li> 
<li> 
    <div class="holder"> 
     <img src="#" data-name="test2"> 
    </div> 
</li> 
<li> 
    <div class="holder"> 
     <img src="#" data-name="test2"> 
    </div> 
</li> 
<li> 
    <div class="holder"> 
     <img src="#" data-name="test2"> 
    </div> 
</li> 
<li> 
    <div class="holder"> 
     <img src="#" data-name="test1"> 
    </div> 
</li> 
<li> 
    <div class="holder"> 
     <img src="#" data-name="test2"> 
    </div> 
</li> 

가있을 수 많은 이미지를하지만 난 단지 현재 활성화 된 이미지 후에 다음 이미지를 얻을 싶어요. 예를 들어 당신이 그들을 반복하지 않고 요소에 직접 클래스를 설정합니다

$("li img[data-name=test2]").closest("li").addClass("active"); 

이 사용할 수

+0

예외를 게시 할 수 있습니까? –

+0

확실히 나는 이름이 test 2 – KM123

+0

인 이미지의 li에 "active"클래스를 추가하고 싶은데 data-name = test2라는 이미지가있는 경우에만 다음 요소를 얻고 싶습니까? –

답변

1

TEST1 이미지를 건너 뛸 것입니다.

는 jQuery로 Fiddle Example

+0

내 첫 번째 대답은 클래스를 이미지로 설정합니다. 이것은 img를 포함하는 li을 선택합니다. – Barry

3
$('img[data-name="test2"]').closest('li').addClass('active'); 

, 당신은 종종 자신의 선택기를 사용하면 쉽게 이미 DOM을 많이 통과하는 것을 허용 할 때 수동으로, 이와 같은 경우에 for 루프를 작성하기위한 약간의 필요성을 찾을 수 있습니다 참조하십시오.

http://api.jquery.com/category/traversing/

+0

왜 downvote? 나는 downvotes을 전혀 신경 쓰지 않는다, 나는 잘못 갔던 곳을 배우는 것을 좋아한다. 그러나 설명이 있으면 나는 그것을 할 수있다. –

-2

는 Alwad의 답변과 후속 질문을 기반으로 :

$("li img[data-name]='test2']").closest("li").addClass("active"); 

편집 : 스크래치 광산, 그는 그의 대답을 편집, Alwad의이 같은 올바른 표시합니다. edit2 : 게시물/댓글 수정을 중지하면 사람들이 나를 아래쪽으로 표시합니다. :(귀하의 질문 편집을 쫓아이 답변을 편집 완료 :) :)

+1

'img'에 클래스를 추가하고 있습니다.'li'에서 클래스를 원합니다. –

+1

그는 지속적으로 자신의 게시물을 편집하고 있습니다. : - 원래 그것이 말한 것이 아닙니다.:) – Jason

+0

@DeeMac - 자신의 의견에 찬성하여 다른 사람의 대답을 downvote하는 것은 나쁜 형태로 간주됩니다. 꽤 끈적 해. 나는 당신이 downvoted 베리의 게시물을 찾고 있어요. – Jason

0

당신은 현재 두 번째 LI에 있었는지 말씀 드리겠습니다. $ ("li : nth-child (1)") 아래 코드). 원하는 이미지가 포함 된 다음 형제 LI 태그를 찾으려면 활성 클래스를 추가하십시오 (테스트하지 않았습니다) :

$("li:nth-child(1)").nextAll("li img[data-name]='test2']").addClass("active"); 
관련 문제