-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 使用了类。如果您使用的是 neigher class 或 id,这将使save您免于生成lot of ids及其操作,并且不会影响页面上的其他 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

似乎您希望在a单击li.

您需要至少定义一个类。(或者包括父元素,如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 回答
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 回答