javascript - 想要使用 jQuery .nextUntil 但排除中间的 div

标签 javascript jquery css

我是 jQuery 的新手,所以请原谅!

我有一个 PHP 函数可以从 MySQL 数据库返回一个博客;它返回标题、副标题和内容。

$result = getData();  
            while($row = mysqli_fetch_array($result))
            {
                extract($row);
                ?>
                    <div class="headline"><?php echo $headline ?></div>
                    <div class="subtitle"><?php echo $subTitle ?></div>
                    <div class="content"><?php echo $content ?></div>
                    <?php
            } 

目前显示了三个条目。我有一个 jQuery,它隐藏内容并在单击标题时使用 nextUntill 方法和内容上的 .slideToggle 展开内容。

    $(".content").hide();

$(".headline").click(function(){
    $(this).nextUntil(".headline").slideToggle(500);  
}); 

我的问题是 slideToggle 在每个 div 上执行,直到下一个标题,其中包括副标题。因此,当点击标题时,内容会显示,但标题会消失。

我不能只选择要滑动的内容,因为它会滑动然后显示所有三个内容 div。

有没有办法在标题和内容之间排除副标题?

提前致谢!

最佳答案

假设我没听错,您想隐藏下一个 .content 元素。如果是这样,您可以从以下兄弟元素中获取与该选择器匹配的第一个元素:

$(this).nextAll(".content").eq(0).slideToggle(500);

或者,要按照你的建议去做,你可以使用not:

$(this).nextUntil(".headline").not(".subtitle").slideToggle(500);

这是一个 working example第一个版本。

关于javascript - 想要使用 jQuery .nextUntil 但排除中间的 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10879726/

相关文章:

html - 有没有办法在 Rails 中的表单上左对齐?

JavaScript + 扩展脚本 |从变量中检索文件夹路径并在其中创建一个新文件夹

javascript - PreventDefault() 也禁用文本输入

javascript - 我可以使用 grunt 在 json 文件中设置属性值吗?

javascript - 在javascript中过滤对象数组

javascript - 为什么我的带有 JSONP 脚本的 PHP/AJAX 返回 HTML、JSON 和无效的 JSON?

javascript,jQuery : how to save values instead of the references

html - 线性渐变背景中的顶部边框半径

javascript - 未找到 Grunt 任务默认值

css - 以最大宽度居中内容且不使用边距