コンテキスト メニューを作成するために要素が存在するかどうかを確認することを考えたとき、GUI ページ要素にカスタム コンテキスト メニューを作成できるようにする JavaScript コードを作成するのに忙しかったです。
function element_exists(el){
var tagName=el.tagName;
var exists=0;
for(var a=0;a<document.getElementsByTagName(tagName).length;a++){
if(document.getElementsByTagName(tagName)[a]==el){
exists=1;
}
}
return exists;
}
このコードでは、参照を DOM 要素オブジェクト (以前から格納されている) に渡します。保存されたとしましょうが、それ以来、要素自体をドキュメントから削除しました。
Chrome Canary を使用しています。コンソールでページを編集し、まったく同じタグ名と ID を持つ新しい要素を作成しても、false が返されます。innerText と innerHTML が同じ場合、true を返しますか?
そうでない場合、これはすべての Web ブラウザー (新旧) の標準ですか? すべてが一意である場合、不要なコードを削除できるため、ただ興味があります。