Hoe controleer ik of er een element bestaat als het element is gemaakt met .append()
-methode?
$('elemId').length
werkt niet voor mij.
Antwoord 1, Autoriteit 100%
$('elemId').length
werkt niet voor
mij.
U moet #
vóór het element-ID plaatsen:
$('#elemId').length
---^
Met Vanilla JavaScript hebt u de hash (#
) niet nodig, b.v. document.getElementById('id_here')
, maar bij gebruik van jQuery moet u Hash to-target-elementen opstellen op basis van id
net als CSS.
Antwoord 2, Autoriteit 23%
Probeer de lengte van de selector te controleren, als het u iets retourneert, dan moet het element anders niet bestaan.
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
}
Antwoord 3, Autoriteit 9%
Probeer dit:
if ($("#mydiv").length > 0){
// do something here
}
De eigenschappen van de lengte retourneert nul als er geen element bestaat.
Antwoord 4, Autoriteit 4%
Hoe controleer ik of een element
bestaat
if ($("#mydiv").length){ }
Als het 0
is, evalueert deze naar false
, alles meer dan die true
.
Er is geen behoefte aan een groter dan, minder dan vergelijking.
Antwoord 5, Autoriteit 2%
Uw elemId
Zoals de naam suggereert, is een id
kenmerk, dit zijn alles wat u kunt doen om te controleren of het bestaat:
vanille javascript: Als u meer geavanceerde selectors hebt:
//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){}
Antwoord 6
U kunt ook array-achtige notatie gebruiken en controleren op het eerste element.
Het eerste element van een lege array of verzameling is eenvoudigweg undefined
, dus u krijgt het “normale” JavaScript NEWYY / FALSY-gedrag:
var el = $('body')[0];
if (el) {
console.log('element found', el);
}
if (!el) {
console.log('no element found');
}
Antwoord 7
U kunt native JS gebruiken om te testen op het bestaan van een object:
if (document.getElementById('elemId') instanceof Object){
// do something here
}
Vergeet niet, JQuery is niets meer dan een geavanceerde (en zeer nuttige) wrapper rondom Native JavaScript-opdrachten en eigenschappen
Antwoord 8
Als u een klasse op uw element hebt, kunt u het volgende proberen:
if( $('.exists_content').hasClass('exists_content') ){
//element available
}