Hint: Wanneer je een stuk HTML *na* een button wilt hebben moet je het aan het bovenliggende element appenden en niet aan de button.
Maar daar is de insertAfter toch voor. het moet als siblings ongevoerd worden.
bovenliggend kan een parent zijn of een bovenliggende sibling. Zonder details is het nogal onduidelijk hoe je dit beschrijft.
Als je even goed leest, dan lees je dat het gewoon werkt als ik het zonder objecten doe, maar op deze wijze lukt het niet.
omdat ik ik een script http://viima.github.io/jquery-comments/ aanpas en die is zo geschreven,
vele dependancies, dus grote kans is als ik dit hier aanpas, vele andere dingen niet werken, dus ik probeer hun stijl aan te houden.
Of wellicht mis ik iets? hoe bedoel je precies met alleen JS?
x.append = voeg achteraan toe IN element x
x.insertAfter = voeg toe NA element x
Mogelijk ben je er al door de tweede append te veranderen in insertAfter?
EDIT Maar dan wel met chaining. Wat jij doet in je initiële codefragment is:
var bla = button.append(...)
bla.append(...)
Maar die eerste append(...) is een callback-functie, dus bla.append(...) wordt al uitgevoerd terwijl bla nog gecreëerd wordt.
Doe dus alles na elkaar:
var bla = button
bla.append(...)
bla.insertAfter(...)
Of alles tegelijkertijd:
var bla = button.append(...).insertAfter(...)
Maar geen mengvorm want dat gaat geheid mis. Bij de aanroep van een callback-functie gaat alle code NA deze callback-functie DIRECT door, je hebt dan dus als het ware twee "code-threads" die tegelijkertijd worden uitgevoerd. Je kunt dan niet voortbouwen op iets wat mogelijk nog niet klaar (in uitvoering) is.
werkt dus niet, hij word niet aangemaakt.
. Geen foutmeldingen ook. Maar denk dat het element daarvoor bij append nog niet gemaakt is, want met een interval werkt het alleen.
Als dit een standaard brok functionaliteit is, heeft dat ding dan geen hooks/callbacks of wat dan ook waar je op in kan haken, oftewel, doe je je aanpassingen wel op de Goede Manier?
Zo'n timeout lijkt mij een kunstgreep, en gaat mogelijk ook niet altijd werken als er een hickup in het netwerk zit waardoor dingen langer duren.
En als je hier geen custom code op kunt schrijven is dat ding een baksteen, of was het nooit de bedoeling dat dit uberhaupt kon.