2016-09-19 3 views
1

Das folgende Skript soll ein Element anhängen. Ich überprüfe zuerst, ob das Element existiert, wenn nicht, erstelle ich es und füge es an. Das Problem ist, dass die Überprüfung aus irgendeinem Grund nicht zu funktionieren scheint, es das Element immer und immer wieder zu erstellen ...Wie überprüft man nach dem Anhängen die Existenz eines Elements?

Frage: Wie nach der Existenz eines Elements nach dem Anhängen prüfen?

mein jsfiddle:

https://jsfiddle.net/mr54fbrL/

$(document).on("click", ".multilevel p.level", function(e) { 

    var box = $(this).next(".itemMenuBox"); // box you want to interact with 

    // if box does not exist, add it! 
    if(!box.length) { 
     alert('not found, add it!'); 

     var box = $("<div></div>") 
      .attr("class", 'itemMenuBox').text('new box') 
      .appendTo($(this)); 
    } else { 
     alert('found box'); 
    } 
}); 
+2

Sie verwenden '.appendTo', aber überprüfe für' .next'. Entweder möchten Sie nachher mit '.insertAfter' einfügen oder mit' .find' oder '.children' suchen. –

+0

Fudge! Ich wusste nicht, dass ich das Element als Kind und nicht als Geschwister eingefügt habe !!! Merci Karl-André – Marco

Antwort

1

verwenden Js:

$(document).on("click", ".multilevel p.level", function(e) { 
     if($(this).find('div').hasClass('itemMenuBox')){ 
      alert('found box'); 
     }else{ 
       alert('not found, add it!'); 
      var box = $("<div></div>") 
       .attr("class", 'itemMenuBox').text('new box') 
       .appendTo($(this)); 
     }  
    }); 
Verwandte Themen