从jquery中的隐藏ul中选择li

时间:2012-05-09 21:20:18

标签: jquery jquery-selectors drop-down-menu

我试图选择一个已隐藏的列表项,但可以使用幻灯片切换方法显示。

这是HTML

<ul>
  <li>item 1</li>
  <li>item 2</li>
  <li id="par1">parent 1</li>
    <ul id="par1list">
      <li>items to select1</li>
      <li>items to select2</li>
      <li>items to select3</li>
    </ul>
  <li id="par2">parent 2</li>
    <ul id="par2list">
      <li>items to select1</li>
      <li>items to select2</li>
      <li>items to select3</li>
    </ul>
</ul>

在jquery中,我隐藏了子父列表(par1list和par2list),但是当单击父1或父2时,它们会滑动切换。这是jquery:

$(document).ready(function(){
    $("#par1list, #par2list").hide(); //hide elements

    $("#par1").click(function() {
        $("#par1list").slideToggle(400); //click parents to show hidden elements
    });
    $("#par2").click(function() {
        $("#par2list").slideToggle(400); //click parents to show hidden elements
    });

    $("#par1list > li").click(function(){  //select list item from previous hidden ul
        this.css('color', 'red');
    });
});

我试图从ul par1中选择一个列表项,但我无法弄明白。谢谢!

2 个答案:

答案 0 :(得分:3)

如果我理解正确,您需要使用$(this)代替this

DEMO

$("#par1list > li").click(function(){  //select list item from previous hidden ul
    $(this).css('color', 'red');
});

答案 1 :(得分:0)

我知道这个已经有了一个很好的答案,但我想补充说明为什么它的工作原理如下: “this”是一个DOM元素。比如“hello”,所以为了使用jQuery来处理它,你首先需要将它包装在一个jQuery对象中,执行$(this)。

希望这有用。