2012-11-16 2 views
2

이것은 정말 간단하게 들리므로 어디서 붙어 있는지 확실하지 않습니다. 수동으로 확인하는 양식이 있습니다. 필요에 따라 라디오 버튼을 확인한 후에이 요소 위에 레이블을 가져와야합니다. 다음은 HTML입니다. 이 코드는 상속이고 더 큰 프로세스의 일부이므로 마크 업을 변경할 수 없습니다. 내가 처음 라디오를 찾을 수jquery와 함께 특정 요소를 가져 오기

<label>Do you market on? : </label> 
<li> 
    <label>Plenty of Fish:</label> 
    <span href="#" style="float: left; margin-right: 10px;"> 
     <input type="radio" class="required" name="data[SignupAnswer][100][answer]" value="yes" />Yes 
    </span> 
    <span href="#" style="float: left; margin-right: 10px;"> 
     <input type="radio" class="required" name="data[SignupAnswer][100][answer]" value="no" />No 
    </span> 
    <input type="hidden" name="data[SignupAnswer][100][signup_question_id]" value="100"> 
    <input type="hidden" name="data[SignupAnswer][100][class]" value="bool"> 
    <input type="hidden" name="data[SignupAnswer][100][required]" value="0"> 
    <input type="hidden" name="data[SignupAnswer][100][question]" value="Plenty of Fish"> 
</li> 

다음 나는 "물고기의 많음"이라는 위의 레이블을 찾을 필요가 :

그래서이 내 HTML입니다.

내가 .prev()을 시도하고,() .closest와 두 ('라벨')로,하지만 모두 실제 요소 대신이 객체 반환하지 않았습니다 :

[prevObject: jQuery.fn.jQuery.init[1], context: <input>, selector: ".next(li)"] 

어쩌면 사람을 왜 내가 이걸 얻었고 어떤 요소가 아닌지 설명 할 수 있니? 필요한 요소를 얻는 방법을 알려주십시오. 감사합니다.

+1

jsFiddle을 첨부 할 수 있습니까? –

+0

함께 시도한 jQuery 코드를 추가하십시오 !! –

+0

jsFiddle을 설정하기도 전에 누군가가 대답했습니다 :) – Yanipan

답변

3

closest이 (선택기에 의해 지정된 ) 최초의 가장 가까운 부모 요소를 선택, 당신은 부모 li 요소를 선택하고 다음 label 찾을 :

$(this).closest('li').find('label') 
+0

간단하고 작동합니다 - 제가 aboe라는 방법을 시도했을 때 콘솔을 더 잘 사용해야 할 것 같습니다. :) 감사! – Yanipan

1

는 여기에 몇 가지 가족 시간입니다. .parents().children()

$('input[value=yes]').parents('li').children('label') 
1

또 다른 방법? $('input[type="radio"]:first').parent().siblings('label')

관련 문제