login  Naam:   Wachtwoord: 
Registreer je!
 Forum

jquery after() probleem (Opgelost)

Offline gijsgg - 18/05/2011 16:51
Avatar van gijsggLid Om mijn probleem uit te leggen heb ik een makkelijk voorbeeld gemaakt.

ik heb een lijstje die ik dmv javascript wil onderbreken, afsluiten, een titel plaatsen en weer openen. als je naar de javascript kijkt lijkt het te kloppen maar de output vind ik erg verwarrend... de sluit tag wordt achteraan geplaatst.. met append gebeurt het zelfde... staat ook in het voorbeeld. De output lijkt in eerste opzicht goed maar kijk maar eens naar de source van de output..

http://jsfiddle.net/Fx74b/2/

2 antwoorden

Gesponsorde links
Offline valles10 - 18/05/2011 20:32
Avatar van valles10 HTML interesse Ik zie niets vreemds hoor?
Offline gijsgg - 19/05/2011 00:37 (laatste wijziging 20/05/2011 10:34)
Avatar van gijsgg Lid als je de source van de output bekijkt zie je dit:

<ul>
<li>1</li>
<li>2</li>
<li class="hierna">3</li><h1>Title</h1><ul></ul>
<li>4</li>
<li>5</li>
</ul>

en dat is dus fout..
moet zijn:
<ul>
<li>1</li>
<li>2</li>
<li class="hierna">3</li></ul><h1>Title</h1><ul>
<li>4</li>
<li>5</li>
</ul>

http://jsfiddle.net/Fx74b/15/
heb stijl toegevoegd zodat je kan zien dat de title niet buiten de list staat..

Via stackoverflow het juiste antwoord gekregen 
Citaat:
Jquery works with valid HTML only, not string parts.

So you cannot pass broken html to the after() method.

You will need to split the ul your self and add the other elements in between.

$(document).ready(function() {
var splitelement = $(".afterthis");
var ul = splitelement.parent();
var newul = $('<ul>');

newul.append( splitelement.nextAll() );
ul.after("<h1>Title</h1>").next().after(newul);
});
demo http://jsfiddle.net/gaby/ph5UM/
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.16s