この質問にはすでに答えがあります。
によって作成された要素が存在するかどうかをどうやって確認するのですか?.append()
方法?$('elemId').length
私にはうまくいきません。
$('elemId').length
うまくいかない 私です。
あなたが置く必要があります#
要素IDの前:
$('#elemId').length
---^
一般的なJavaScriptでは、ハッシュは必要ありません(#
例)document.getElementById('id_here')
ただし、jQueryを使用する場合は、以下に基づいてターゲット要素にハッシュを設定する必要があります。id
CSSと同じです。
document.querySelector('#id_here')
同等のjQueryと同じだけハッシュ記号を必要とします$('#id_here')
。 - AndreKR
セレクタの長さを調べてみてください。それが何かを返すのであれば、その要素は他には存在してはいけません。
if( $('#selector').length ) // use this if you are using id to check
{
// it exists
}
if( $('.selector').length ) // use this if you are using class to check
{
// it exists
}
function exists(elementName) { return $(elementName).length; }
- Sinister Beard
これを試して:
if ($("#mydiv").length > 0){
// do something here
}
elementが存在しない場合、lengthプロパティはゼロを返します。
> 0
。それが起こるかもしれない理由は何ですか? - KillahB
要素が存在するかどうかを確認する方法
if ($("#mydiv").length){ }
もしそれが0
、それはに評価されますfalse
それ以上のものtrue
。
大なり小なり比較の必要はありません。
きみのelemId
その名前が示すように、Id
属性は、これらが存在するかどうかを確認するためにあなたができるすべてです:
バニラJavaScript:より高度なセレクタがある場合は
//you can use it for more advanced selectors
if(document.querySelectorAll("#elemId").length){}
if(document.querySelector("#elemId")){}
//you can use it if your selector has only an Id attribute
if(document.getElementById("elemId")){}
jQuery:
if(jQuery("#elemId").length){}
!= null
としてquerySelector
常に戻りますnull
(これは偽です)または要素 - 1j01if (document.querySelector("elemId") != null )
コードの読みやすさを向上させるためだけに - Mrinmoyif (document.querySelector("elemId") != null )
より読みやすいコードを書いても効果はありません。 JavaScriptの世界では、JavaやC#などの構造化プログラミング言語から考え方を守るのではなく、JavaScriptコミュニティの規約を理解することを強くお勧めします。この場合のJavaScript開発者向け!= null
完全に冗長で読みにくくなっています。 - Mehran HatamiquerySelector()
戻るnull or 0
または他の5つの値のいずれか。querySelectorAll()
要素が見つからない場合、jQueryは異なる戻り値を返します。最近の人々はテクノロジーやフレームワークの集まりに取り組んでいるので、もっと読みやすくすることは確実に利益になると思います。ところで、私はjava / golangプログラマよりもjavascripterです。 - Mrinmoy
配列のような表記法を使って最初の要素をチェックすることもできます。
空の配列またはコレクションの最初の要素は単純にundefined
だから、あなたは "通常の" JavaScriptの真実/偽のふるまいをすることができます:
var el = $('body')[0];
if (el) {
console.log('element found', el);
}
if (!el) {
console.log('no element found');
}
オブジェクトの存在をテストするためにネイティブJSを使うことができます。
if (document.getElementById('elemId') instanceof Object){
// do something here
}
忘れないでください、jQueryはネイティブのJavascriptコマンドとプロパティを洗練された(そして非常に便利な)ラッパーにしただけです。
instanceof Object
- 1j01
要素にクラスがある場合は、次のことを試すことができます。
if( $('.exists_content').hasClass('exists_content') ){
//element available
}
.length
うまく動作します、ここを見てください:jsfiddle.net/yahavbr/A9zW2あなたが使用した場合#
あなたのコードを投稿すれば、あなたが間違ったことをしていることがわかります。 - Shadow Wizard