アプリ版:「スタンプのみでお礼する」機能のリリースについて

いつもお世話になっています。

その要素がjQueryでremove()済みか確認する最も簡単な方法を教えてください。

小生が考えたのは、foo.css('display')で確認する方法ですが、'display'という文字列を渡すのが、ちょっとダサいなと思っています。

もっときれいな書き方でスマートに確認する方法はありますか。

A 回答 (2件)

こんばんは



>その要素がjQueryでremove()済みか確認する最も簡単な方法を教えてください。
削除した方法がjQueryによるのか他の方法によるのかどうか迄は判断できないと思います。

雰囲気的には「当該要素が存在するかどうか」がわかれば良いということのように思われます。
識別子が不明ですけれど、要素そのものの存在を調べれば済む話ではないでしょうか。

例えば、idが hoge の要素なら
 document.getElementById('hoge')
で判断可能です。
要素が存在すればその要素が、存在しなければnullが返されます。
(要素の取得方法は他の方法でもかまいません)

※ 意味が違っていたならスルーしてください。
    • good
    • 0
この回答へのお礼

ありがとうございます。
質問が分かりにくくてスミマセンでした。
削除した方法がjQueryによるかの判断は不要です。

foo.remove()を実行しても、fooやfoo.lengthが真になるため、どうやって判断するのが良いか検討していました。

普通に再度ゲットすれば判断できるのですね。
jQueryでも、$('#foo').lengthのように再度ゲットしてlengthを評価したら確認できました。

お礼日時:2023/04/05 22:12

No1です。



>foo.remove()を実行しても、fooやfoo.lengthが真になるため、
>どうやって判断するのが良いか検討していました。
removeメソッドは、要素をDOMから外すだけで、要素そのものの存在を消してしまうものではありません。
https://api.jquery.com/remove/#remove-selector

ですので、そのままfooを調べても、消滅しているわけではありません。
新たに取得すれば(=DOMから取得することになるので)、DOM上に存在するかどうかを確認できるということになります。
    • good
    • 0
この回答へのお礼

良く分かりました。

ところでremoveメソッドとは別に要素そのものの存在を消してしまうメソッドもあるのでしょうか。
つまり既に取得してあるfooやfoo.lengthを偽にする方法もあるのでしょうか。

お礼日時:2023/04/05 23:23

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!