2012-12-28 2 views
-3

나는 내가 li id="test1"를 클릭하면 test1개체 요소를 아래로 가져 오는 방법은 무엇입니까?

<ul> 
     <li id="test1"><a href="javascript: void(0);">Label one</a> 
     <ul id="test2"> 
      <li><a href="test.php">test</a></li> 
     </ul> 
     </li> 
     <li id="test3"><a href="javascript: void(0);">Label two</a> 
     <ul id="test4"> 
      <li><a href="test.php">test</a></li> 
     </ul> 
     </li> 
</ul> 

가 어떻게 객체 test2를받을 수 있나요 요소를 클릭하면 개체 test2를 얻을 필요가?

+0

JS 코드를 보여주세요. jQuery를 사용합니까? –

+0

그들은 ID를 가지고 있습니다.'$ ('# test2')' –

+0

'li # test1'에서 클릭 기능을 원한다면'a' 태그를 사용하는 이유는 무엇입니까? 'a' 태그에 함수를 갖고 싶습니까? –

답변

2

사용 $.children

$('li').click(function(){ 
    var $target = $(this).children('ul'); 
}); 
+0

왜 모든 사람들이 jQuery를 존재한다고 가정합니까? :) – user59169

+6

첨부 된 태그 때문에 – Samich

+1

첫 번째 수준의 'li'요소를 어떻게 든 정의해야하는 유일한 것. 위의 샘플에서는 이벤트를 niseted를 포함하여 모든 'li'요소에 첨부합니다. – Samich

0

은 최고 ul 요소에

<ul class="test"> 
     <li id="test1"> 
      <a href="javascript: void(0);">Детские коляски</a> 
      <ul id="test2"> 
       <li><a href="test.php">test</a></li> 
      </ul> 
     </li> 
     <li id="test3"> 
      <a href="javascript: void(0);">Детские коляски</a> 
      <ul id="test4"> 
       <li><a href="test.php">test</a></li> 
      </ul> 
     </li> 
</ul> 

다음

<script> 
    $(function(){ 
     $('.test > li').click(function(){ 
      var childUl = $(this).children('ul'); 
      // do what you want with childUl 
     }); 
    }); 
</script> 
2

사용하여 jQuery를 클래스를 추가

(210)

바닐라 자바 ​​스크립트 :

var test1 = document.getElementById('test1'); 
test.addEventListener('click', grabTest2, false); 

function grabTest2() { 
    var test2 = document.getElementById('test2'); 
} 
1

그것의 더 나은 대신 ids를 사용 class하여 요소를 식별합니다. 부모 li에는 liClass 클래스를 사용하고 하위 ul에는 ulClass을 사용합니다. 이것은 save을 생성하고 lot of ids과 그 조작을 생성 할 것이며 neigher 클래스 또는 id를 사용하는 경우 페이지에서 다른 li 및 ul에 영향을 미치지 않습니다.

Live Demo

HTML을

<ul> 
     <li id="test1" class="liClass"><a href="javascript: void(0);">Детские коляски</a> 
     <ul id="test2" class="ulClass"> 
      <li><a href="test.php">test</a></li> 
     </ul> 
     </li> 
     <li id="test3"><a href="javascript: void(0);">Детские коляски</a> 
     <ul id="test4"> 
      <li><a href="test.php">test</a></li> 
     </ul> 
     </li> 
</ul> 

자바 스크립트 당신이에 a 태그의 클릭에 기능을 할 것으로 보인다

$('.liClass').click(function(){ 
    obj = $(this).find('.ulClass'); 
}) 
0

.

당신은.이어야 하나 개의 클래스가 정의되어 있어야합니다 (또는 다른 div>ul>li>a 등의 부모 요소를 포함한다)

$('ul.parent > li > a').click(function(){ 
    var obj = $(this).parent().children('ul'); //going back one step and selecting the child element 
}); 

확인 fiddle

당신은 li 자체에 클릭 기능은 다음 다른 솔루션으로 이동하려면 (또는 내가 제공 한 위의 솔루션을 변경하여 시도하십시오)

나는 그것이 권장되는지 아닌지에 대해 잘 모르겠습니다.

관련 문제