2012-12-28 56 views
-3

我需要的對象test2當我點擊元素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當我點擊li id="test1"嗎?

+0

向我們展示您的JS代碼。你使用jQuery嗎? –

+0

他們IDS ..所以只需要使用'ID'選擇'$(「#測試2」)' –

+0

它不清楚,如果你想對李'#test1'點擊功能,那麼爲什麼使用'了'標籤?你想在'a'標籤上使用這個功能嗎? –

回答

2

使用$.children

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

爲什麼每個人都假定jQuery存在? :) – user59169

+6

由於附加了標籤 – Samich

+1

您需要唯一定義第一級別的「li」元素。在上面的示例中,它會將事件附加到所有「li」元素,包括neseted。 – 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:

$('#test1').on('click', function (e) { 
    var test2 = $('#test2); 
}); 

香草的javascript:

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

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

其更好地class來識別,而不是使用ids的元素。對於父母li,我使用liClass類,對於孩子ul我使用ulClass。如果您使用的是neigher類或id,這將使save生成lot of ids及其操作,並且不會影響頁面上的其他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> 

的Javascript

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

看來你想有a標籤,它是的點擊功能。

你需要有ATLEAST一個類中定義。(或者包括像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本身的點擊功能則與其他解決方案去(或嘗試通過改變我提供的上述解決方案來獲得)

我不知道這是否建議還是不要。