隐藏/显示定义列表中的 DD 元素
我无法找出(或找到)以下场景的解决方案:
我们有一个像这样的 dl:
<dl>
<dt>Term</dt>
<dd>Item 1</dd>
<dd>Item 2</dd>
<dd>Item 3</dd>
<dd>Item 4</dd>
<dd>Item 5</dd>
<dt>Term</dt>
<dd>Item 1</dd>
<dd>Item 2</dd>
<dd>Item 3</dd>
<dd>Item 4</dd>
<dd>Item 5</dd>
</dl>
我们需要隐藏第一个之后的所有 dds 3 对于每个 dt 组,并显示一个“查看更多”链接,该链接将切换其余组的可见性。
任何提示将不胜感激!
I haven't been able to figure out (or find) a solution for the following scenario:
We have a dl
like so:
<dl>
<dt>Term</dt>
<dd>Item 1</dd>
<dd>Item 2</dd>
<dd>Item 3</dd>
<dd>Item 4</dd>
<dd>Item 5</dd>
<dt>Term</dt>
<dd>Item 1</dd>
<dd>Item 2</dd>
<dd>Item 3</dd>
<dd>Item 4</dd>
<dd>Item 5</dd>
</dl>
We need to hide all dds
after the first 3 for each dt
group and show a "view more" link that will toggle visibility on the remaining.
Any tips would be greatly appreciated!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
工作示例:http://jsfiddle.net/APB6F/。该解决方案为您提供了切换显示/隐藏功能的选项。
Working example: http://jsfiddle.net/APB6F/. This solution gives you the option of toggling the Show/Hide functionality.
可能有更好的方法来做到这一点,但这是我首先想到的。它在
dl
中查找dt
元素,然后循环遍历它们并隐藏前 3 个之后的所有元素,直到下一个dt
:这是一个 < href="http://jsfiddle.net/sxqFa/2/" rel="nofollow">工作示例。
There may be a better way to do this, but this is what I came up with first. It finds the
dt
elements within thedl
, then loops through them and hides all elements after the first 3 until the nextdt
:Here's a working example.
由于您位于
的深处,因此我会在最后一个
之后插入一个新的
元素,其中包含“查看更多”链接>
标签,并为其指定一个类,以将其与包含实际数据的
只要确保你的CSS中有这样的东西:
编辑:我修复了它。 这是演示。
Since you're deep inside of the
<dl>
, I would insert a new<dd>
element that contains the "view more" link after the last<dd>
tag, and give it a class to distinguish it from the<dd>
tags that contain the actual data.Just make sure you have something like this in your css:
Edit: I fixed it. Here's the demo.
试试这个
工作演示
Try this
Working demo
$('dd:nth-child(n+4)')
这应该选择除前 3 个 dd 之外的所有内容。这有帮助:http://leaverou.me/demos/nth.html
$('dd:nth-child(n+4)')
This should select everything but the first 3 dds. This helps: http://leaverou.me/demos/nth.html
感谢大家的帮助。这就是我们最终的结果:
Thanks everyone for the help. This is what we ended up going with: