-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"ですか?

4

5 に答える 5

2

$.childrenを使用します

$('li').click(function(){
  var $target = $(this).children('ul');
});
于 2012-12-28T14:03:41.377 に答える
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');
}
于 2012-12-28T14:06:58.820 に答える
1

classを使用する代わりに、要素を識別する方が適切idsです。liClass親liとulClass子ulにクラスを使用しています。これによりsave、生成lot of idsとその操作ができなくなり、ネイバークラスまたはIDを使用している場合、ページ上の他のliとulに影響を与えることはありません。

ライブデモ

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');
})
于 2012-12-28T14:10:54.940 に答える
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>
于 2012-12-28T14:06:26.163 に答える
0

aにあるタグをクリックすると機能したいようですli

少なくとも1つのクラスを定義する必要があります(または、のような親要素を含める必要があります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
});

フィドルを確認してください

クリック機能li自体が必要な場合は、他のソリューションを使用してください(または、上記のソリューションを変更して取得してみてください)

これが推奨されるかどうかはわかりません。

于 2012-12-28T14:33:53.410 に答える