Append functie
Met jquery maak ik gebruik van de append functie, deze word aangeroepen d.m.v. een click functie.
Telkens als ik klik dan word deze functie uitgevoerd, echter wil ik dat jquery hem niet meer toevoegd als hij al bestaat.
Nu had ik het volgende geprobeerd
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
$(element).click(function(){
if (!$('body').find('.text')){
alert ('is al aanwezig');
}else{
$('body').append('<b class="text"></b>');
}
});
if (!$('body').find('.text')){
alert ('is al aanwezig');
}else{
$('body').append('<b class="text"></b>');
}
});
Helaas werkt dit niet, weet iemand een andere manier hiervoor?
Gr. Jop
Kun je niet beter eerst een plekje reserveren in een document dmv een div-container met een uniek id, en dan controleren of deze leeg is of niet? Dat lijkt mij (ook) wat efficienter dan je hele document doorzoeken. Maak dus een soort van placeholder oid.
Dank voor je reactie. Heb maar even een fiddle aangemaakt, want heb nog een situatie wat eiegenlijk op het zlefde neerkomt.
Fiddle
In deze situatie heb ik te maken met een button, deze button bevat text en is dus niet leeg (empty) toch wil ik controleren of er een bepaald element zicht hierin bevind.
altijd werkt.
Blijkbaar is:
Altijd ongelijk aan false. .find() retourneert altijd een "niet leeg object".
Waar je naar op zoek was is dus waarschijnlijk zoiets:
Dit zorgt ervoor dat het if-statement alleen true oplevert op het moment dat je nog geen div met klasse "tekst" hebt toegevoegd.
Gewijzigd op 27/10/2015 12:30:02 door Thomas van den Heuvel
Zelfde had ik dit nog geprobeerd:
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
$(document).ready(function () {
var check = $(".myDiv").length;
console.log(check);
if ($(".myDiv").length == 1) {
alert ('aanwezig');
}else{
alert ('niet aanwezig');
}
});
var check = $(".myDiv").length;
console.log(check);
if ($(".myDiv").length == 1) {
alert ('aanwezig');
}else{
alert ('niet aanwezig');
}
});
* Deze code heeft andere elementen nu, aangezien ik dit even los heb getest.
Gewijzigd op 27/10/2015 13:02:21 door Jop B
Code (php)
1
2
3
2
3
$('#send').one('click', function(){
$('body').append('<div class="text">deze text</div>')
});
$('body').append('<div class="text">deze text</div>')
});
one ipv once werkt zo te zien
fiddle-> https://jsfiddle.net/Pieter_FR/2grgpz5y/
Gewijzigd op 28/10/2015 09:08:07 door Pieter R