jQuery fadeIn:孩子们不应该褪色

时间:2016-09-13 14:21:45

标签: javascript jquery html

我使用 li ul 元素构建了一个可折叠树。我使用 jQuery.fadeIn jQuery.fadeOut 通过将这些函数应用于嵌套的 ul 元素来分别折叠树中的分支。

工作几乎完美,但显示折叠分支时出现一个小问题:如果要显示的分支包含折叠分支本身,则不会保留这些分支的折叠状态,这意味着还将显示所有子分支。 / p>

<li id="branch1"> Item 1
  <ul style="display:none">
    <li> Branch 1
      <ul style="display:none">
       ...
      </ul>
    </li>
  </ul>
</li>

如果我现在调用以下内容, Branch 1 也将被淡入。

jQuery("#branch1 ul").fadeIn();

3 个答案:

答案 0 :(得分:0)

这是因为你的查询得到了两个元素。 $('#branch1 ul')返回它们。使用它来获得第一个:

            var a= jQuery("#branch1>ul")
             a.fadeIn();

答案 1 :(得分:0)

使用不正确的jQuery-selector将函数应用于多个元素是我的问题。该功能应该按预期工作。

答案 2 :(得分:0)

您的代码结构如下

  <ul>
    <li id="branch1"> Item 1 </li>
     <ul style="display:none">
      <li> Branch 1</li>
       <ul style="display:none">
       <li> Branch 3</li>
      </ul>
    </ul>

在这个结构中你的jQuery代码将起作用。

           jQuery("#branch1 ul").fadeIn();