1

.show()'ing および .hide()'ing (または .toggle()'ing) の代わりに、.remove() 関数を「トグル」する方法はありますか?

.remove() は文字通りDOMから要素を削除するので、削除された要素がなくなったら魔法のように置き換えるのは難しいように思えますが、それを偽造する方法はありますか?

注: スクリーン リーダーで無視されるように、DOM から削除する必要があります (私の知る限り、スクリーン リーダーは .show() と .hide() を尊重しません)。

ありがとう。

- - 編集 - -

OK、それで .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;の質問を少し変更します。私は単純なトグルコードになりました。ありがとう!

4

2 に答える 2

4

jQuery 1.4 の最近の追加機能を使用detachして、それらを削除し、後で再度追加してみてください。

于 2010-09-22T17:30:19.870 に答える
1

DOM 要素を変数に保存して、後で再度追加することができます。

ここで例を確認してください。

于 2010-09-22T17:29:44.007 に答える