尝试使父项的特定兄弟项淡入淡出。
然而,这对于第二个标题失败了,因为在 ul 块之前有一个段落标签。
我该如何针对每个标题目标正确的 ul 标签呢?既然jQuery.next()只会找到直接相邻的元素,它不会搜索具有指定搜索参数(例如“ul”或类)的最近下一个元素。
<header class="myheader">
<h1 class="title">Title 1</h1>
</header>
<ul class="my-list">
<li>list item 1</li>
</ul>
<header class="myheader">
<h1 class="title">Title 2</h1>
</header>
<p>description</p>
<ul class="my-list">
<li>list item 1</li>
<li>list item 2</li>
<li>list item 3</li>
</ul>
<header class="myheader">
<h1 class="title">Title 3</h1>
</header>
<ul class="my-list">
<li>list item 1</li>
<li>list item 2</li>
<li>list item 3</li>
</ul>
因此,使用上面的标记,我希望能够单击任何标题 h1 标记并使下一个 ul 块可见(淡入)。
使用这个jQuery,我可以隐藏所有的 ul 块(在jquery中完成,所以如果js关闭,则所有内容仍然可见),然后等待点击具有“myheading”类的标题 h1 标记的事件,并使最近的下一个同级 ul 块淡入。
jQuery(document).ready(function($) {
$('.title').each(function() {
$('ul.my-list').hide();
$(this).click(function() {
$(this).parent().next('ul.my-list').fadeToggle();
return false;
});
});
});
然而,这对于第二个标题失败了,因为在 ul 块之前有一个段落标签。
我该如何针对每个标题