2011-03-13 6 views
0

<li> 요소 중 하나를 클릭하면 가장 가까운 <li> 값을 얻기 위해 .closest를 사용하려고합니다. 나는별로 행운이 없다. 먼저, .closest.click 부분을 추가하는 방법을 알아 내려고 애 쓰지 않고 있습니다..closest with .click

미리 감사드립니다.

<script> 

$(document).ready(function() { 



var test = $('#test').closest('li').text(); 

alert(test); 

}); 
</script> 
</head> 
<body> 
<tbody> 


<ul id="test"> 
    <li>1</li> 
    <li>2</li> 
    <li>3</li> 
    <li>4</li> 
</ul> 
+4

은 이전의 질문에 어떤 대답을 수락합니다. – amosrivera

+2

사이드 노트 :'body' 엘리먼트에'tbody' 엘리먼트를 사용하는 것이 맞습니다. 'tbody' 엘리먼트는'table' 엘리먼트의 자식으로 만 사용됩니다. – Guffa

+0

'closest()'는 가장 가까운 부모를 찾고 요소의 자식은 찾지 않습니다. 직계의 아이들은'children()'을 사용하고, 요소의 자식은'find()'를 사용하십시오. – Mottie

답변

1

당신이 click 방법을 사용 onclick 이벤트를 연결하고 이벤트 핸들러와 같은 기능을 제공하려면 다음에 클릭 된 요소에 액세스 할 수 this를 사용할 수있는 이벤트 핸들러에서

$('li').click(function() { ... }); 

:

var test = $(this).text(); 

당신이 요소 내부의 텍스트를 점점로서 그가 인터넷에 사용되는, 당신은 closest 방법을 사용하지 않으 다른 요소 (특히 decent 요소)를 찾아라.

그래서 :

$(function() { 

    $('li').click(function() { 
    var test = $(this).text(); 
    alert(test); 
    }); 

}); 
+0

게시물 주셔서 감사합니다! 나는이 방법을 아무런 성공없이 적용하려고 노력하고있다. 내가 어디에서 엉망 이냐? $ (함수() { \t \t $ ('투표.')을 클릭 (함수() { \t \t VAR 투표 = $ (이)는 .text();. \t 경고 (투표) \t \t \t}; \t }); }}); 투표

+0

@ user550495 : 해당 코드에'});이 너무 많습니다. 다음은 작동하는 예제입니다. http://jsfiddle.net/k8EvB/ – Guffa

+0

정말 멋지 네요! 그러나, 내가하려는 것은 투표 텍스트로 식별되는 고유 한 가치를 얻는 것입니다. Ie 나는 이드를 잡아서 DB에 무엇을 전달해야하는지 알고 싶습니다. 이견있는 사람? –