2014-02-14 1 views
0

대신 object를 반환하는 이유는 무엇입니까? 아마도이 태그를 너무 많이 보았을 것입니다. 그러나 select 태그의 id가 알려지지 않은 이유는 무엇입니까? ??가장 가까운 select 태그가 select 대신

+0

는 그것은 아이디입니다 - 단지 ('# 하나') ' –

+0

나는 떨어져 아무것도 달성하지 ... 다른 기능을 학습도 노력하고'$을 다른 기능을 배우는 것에서, 고마워. – user2405469

답변

2

closest() 첫 번째 조상 요소를 가져 오는 데 사용 ... HMTL 및 자바 스크립트입니다

<select id="one"> 
    <option>an option</option> 
    <option>another option</option> 
</select> 

<button id="btn" >look a button</button> 

$("#btn").click(function() { 
    var c = $(this).closest(".one").id; 
    alert(c); 
}); 

... 쉬운 것이어야한다 : 여기

나는 함께 코드를 연주했다한다 귀하의 선택기와 일치합니다.

var c = $(this).prev().attr('id'); 

나 : 당신은 여기 prev() 또는 siblings() 필요 select 이후

var c = $(this).siblings("#one").attr('id'); 

+0

@ user2405469 도움이 되니 기쁩니다! 해피 코딩 메이트 :) – Felix

+1

그 의견은 하루 종일 읽은 최고의 물건입니다, 감사합니다! 2 분 안에 이것을 받아 들일 것입니다 ... – user2405469

3

closest() 반환 가장 가까운 조상 요소가 주어진 매칭이 경우 이전 요소 나 버튼의 형제입니다 선택기, 귀하의 경우 이전 형제이므로 .prev()을 사용하십시오.

하지만 그 jQuery를 통과 방법은 너무 위에

$("#btn").click(function() { 
    var c = $(this).prev("#one").attr('id');//as @Felix pointed out one is the id not a class 
    //since you have an id for the select element you can use an id selector 
    // like c = $('#one').val(); 
    alert(c); 
}); 
+1

'.one'이 아니거나'prev()'가 아니어야합니다. – Felix

+0

@Felix는 그 경우에 트래 버설 방식을 사용하기도합니다 .... 그냥 id 셀렉터를 잊어 버린다. –

2

.attr()때문에 모든의 jQuery 선택기의 jQuery 개체를 반환하여 id 속성 값을 읽어 id 재산이없는의 jQuery 객체를 반환 추가 jQuery를 방법 쇠사슬로 묶을 수 있습니다. 당신은 원시 요소에 액세스하려면 [0]를 사용할 수 있습니다

$("#btn").click(function() { 
    var c = $(this).closest(".one")[0].id; 
    alert(c); 
});