2011-02-15 9 views
0

jQuery의 부모 메소드 덕분에 값을 얻으려고하지만 좋은 "방법"을 찾을 수 없습니다.이 상위 값을 가져 오는 방법은 무엇입니까?

제발 도와 주실 수 있습니까?

이벤트가 .user 만들 클래스의 클릭에 있고, 얻을 수있는 값이 이제 "09h00"

, 나는 그것을 할 : myVar = $(this).closest('div').prevAll(':last').children('.heure').text();하지만

<li> 
    <div class="docheure"> 
     <span class="heure"> 
     09h00 <!--IT'S THE VALUE I NEED --> 
     </span> 
     <span class="doc"> 
     Dr.Grey 
     </span> 
    </div> 
    <div class="detailrdv"> 
     <p><span>M/Mme</span> : blabla | <span>Phone</span>: 00000</p> 
     <p><span>Examen</span> : crane | <span>Secrétaire</span> : M.J</p> 
     <p><span>Remarque :</span></p> 
     <p> 
     </p> 
    </div> 
    <div class="contenercommandes"> 
     <div style="display: none;" class="commandes"> 
     <ul> 
      <li> 
       <!--THIS IS THE LINK EVENT--> 
       <a href="#" class="editer"> 
        <img src="btn_edit.png" alt="editer"> 
       </a> 
      </li> 
     </ul> 
     </div> 
    </div> 

</li> 

답변

2

작동하지 않습니다 나는이 일을해야한다고 생각합니다 :

myVar = $(this).closest('li:has("div.docheure")').find('.heure').text(); 

재에을 편집 @ loneomeday의 정확한 코멘트에 대한 sponse. (나는 중첩하지 않았다 ul/li)

+1

'a.editer'에서 시작한다고 가정하면'closest'가 잘못된 'li'을 찾습니다. – lonesomeday

+0

@lonesomeday : 당신은 절대적으로 맞습니다. 나는 중첩 된'ul' /'li' ... 한숨을 놓쳤다는 것을 믿을 수 없다. 내 눈, 그들은 더 이상 일하지 않아 ... =/(대답 편집). –

+0

완벽한, 감사합니다! – bahamut100

0

어때?

$(this) 
.closest('div.contenercommandes') 
.siblings('div.docheure') 
.find('span.heure') 
.text(); 

Working jsFiddle.

+0

덕분에 작품이되었지만 David Thomas의 답변이 더 많은 경우에 작동합니다 – bahamut100

+0

@ bahamut100 하나 이상의 답변을 upvote 할 수 있습니다. -) – lonesomeday

0
$(this).closest('div').prevAll(':last').children('.heure').text(); 

대신 html()을 사용해야합니다. 마찬가지로 :

$("a.editer").click(function() { 
    var myVal = $(this) 
     .closest('.contenercommandes') 
     .prevAll('.docheure') 
     .children('.heure') 
     .text() 
    ; 
}); 
0

이 당신이 후했다 물건의 종류 :

$('.docheure .heure').html() 
+0

문서에 "span.heure"태그가 여러 개 있다고 가정합니다. 따라서 선택기 도움말이 필요합니다. – nickf

+0

@nickf 그래, 그래. 가로 지르는 방법은 그때가는 길입니다! –

0

질문을 올바르게 이해하면 도움이됩니다.

myVar = $(this).closest('div.docheure').find('.heure').text(); 
+0

동시 답변 수에 따라 판단 - 모두 다 다릅니다 - 우리는 모두 다르게 해석했습니다 .- – belugabob

+0

@David Thomas는 .docheure div로 다시 이동했습니다. – belugabob

관련 문제