2014-04-02 3 views
0
다음 HTML을 부여

찾는 방법 : 가장 가까운 입력의 이름 속성 값, 클래스 위의 'suggestInput'위의 하나를 찾기 위해 노력가장 가까운 입력 이름 속성 값

<input name="name goes here" type="text" value="value goes here"> 
<span class="suggestInput" data-type="tag"> 
<img src="../images/icons/wand.png" title="Suggest an input" alt=""> 
</span> 

메신저.

무슨 일이야 ..

$(".suggestInput").click(function(event) { 
    event.preventDefault(); 

    var test1 = $(this).closest("input").attr("name"); 
    var test2 = console.log($(this).find().closest("input").attr("name")); 
}); 

을 그들은 모두 반환 '정의되지 않은'내 예에서는 이름은 내가 해봤

간다 반환해야?

답변

3

.closest() 입력 요소가 span.suggestInput 요소의 상위 요소가 아닌 당신의 경우, 상위 요소를 찾는 데 사용됩니다, 그것은 이전의 형제 그래서

var test1 = $(this).prev("input").attr("name"); 
+0

yeap! 그게 그랬어. – Marco

1

당신은 사용할 수 있습니다 찾을 .prev()를 사용하다 여기 .prev()input이 범위의 바로 이전 형제이기 때문에 :

var test1 = $(this).prev().attr("name"); 

.closest()이 방법이 통과하기 때문에 작동하지 않는 경우가 DOM 트리를 수정하고 귀하의 경우에 해당하지 않는 가장 가까운 일치하는 조상을 얻으십시오 :

+0

나는 다른 질문에 동시에 대답하고 있으므로 SO 검증을 입력해야한다는 것을 알지 못합니다. – Felix