我使用 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();
答案 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();