使用第 n 个子选择器时如何绕过隐藏元素
第 n 个子选择器允许您根据元素在其中的位置来定位元素他们的兄弟元素。但是,此选择器会对隐藏元素进行计数,当您希望网格中的特定行以不同方式显示时,这可能会导致问题。
在您的情况下,您正在使用第 n 个子选择器来更改每个第 n 行的外观在块网格中。当您使用 display: none 隐藏某些块时,第 n 个子选择器仍然会对它们进行计数,从而导致样式不正确。
基于 CSS 的解决方案
不幸的是,没有纯CSS解决这个问题。第 n 个子级选择器仅查看所有同级,无论其可见性如何。
基于 jQuery 的解决方案
为了避免在第 n 个子级计算中包含隐藏元素,当它们隐藏时,你需要将它们从 DOM 中删除。 jQuery 为此提供了 .detach() 方法:
$(".hide-others").click(function () { var divs; $(".photos-board-item").each(function (i) { $(this).data("initial-index", i); }); if (divs) { $(divs) .appendTo(".row") .each(function () { var oldIndex = $(this).data("initial-index"); $(".photos-board-item").eq(oldIndex).before(this); }); divs = null; } else { divs = $(".css--all-photo").detach(); } });
当单击“隐藏其他”按钮时,此代码将从 DOM 中删除隐藏元素。再次单击按钮时,元素将重新插入到 DOM 中,并保留其原始顺序。
演示
以下是演示解决方案的演示:
[DEMO FIDDLE]
通过使用 .detach() 方法,您可以在不破坏第 n 个子选择器逻辑的情况下切换元素的可见性,确保网格中的每一行都保持其所需的外观。
以上是当隐藏元素存在时,如何使用第 n 个子选择器正确设置行样式?的详细内容。更多信息请关注PHP中文网其他相关文章!

Svelte Transition API提供了一种使组件输入或离开文档(包括自定义Svelte Transitions)时动画组件的方法。

前几天我只是和埃里克·迈耶(Eric Meyer)聊天,我想起了我成长时代的埃里克·迈耶(Eric Meyer)的故事。我写了一篇有关CSS特异性的博客文章,以及

文章讨论了使用CSS来获得阴影和渐变等文本效果,优化它们以进行性能并增强用户体验。它还列出了初学者的资源。(159个字符)


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

Dreamweaver CS6
视觉化网页开发工具

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

记事本++7.3.1
好用且免费的代码编辑器

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中