除了 .show()'ing 和 .hide()'ing(或 .toggle()'ing ),有没有办法“切换” .remove() 函数?
我意识到 .remove() 从字面上删除了 DOM 中的元素,所以一旦删除的元素消失了,听起来很难神奇地替换它们,但是有没有办法伪造它?
注意:它们必须从 DOM 中删除,以便屏幕阅读器忽略它们(AFAIK 屏幕阅读器不尊重 .show() 和 .hide())。
谢谢。
- - 编辑 - -
好的,所以 .detach() 可能对我有用。如果我的标记是:
<a href="#">Toggle images</a>
<p><span>Some text here</span><img src='image1.png'/><img src='image2.png'/></p>
<p><span>Some more text</span><img src='image2.png'/></p>
<p><span>Even more text</span><img src='image5.png'/><img src='image1.png'/>
<img src='image5.png'/></p>
通过单击锚点,它将删除所有图像,再次单击将恢复。使用 .detach() 它将如何工作?
--- 编辑 #2 ---
正如 thenduks 指出的那样,屏幕阅读器实际上确实尊重display: none;
这改变了我的问题。我最终得到了一个简单的切换代码。谢谢!