Avatar billede recryl Nybegynder
27. oktober 2010 - 02:32 Der er 1 løsning

JQuery: replaceWith() virker kun første gang

... Og det skyldes ikke at html() skal bruges fremfor replaceWith(), selvom det åbenbart er dér det går galt for mange andre.

I et simpelt eksempel ønsker jeg at erstatte et element med et andet, og dette virker fint første gang, men ikke efterfølgende gange. Jeg tænker at der mangler en linie som instruerer JQuery i også at lade scriptet virke på det nye element (skabt ved erstatning).

Hvordan kan jeg få scriptet til at virke ved efterfølgende klik?

Eksemplet kan ses her:
http://bykristian.com/help2.html

Koden kan ses her:

<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
</head>
<body>
<b>bold</b>
<i>italic</i>
<script>
$("b").click(function(){
  $(this).replaceWith("<i>italic</i>");
});
$("i").click(function(){
  $(this).replaceWith("<b>bold</b>");
});   
</script>
</body>
</html>

På forhånd mange tak!
Mvh Kristian
Avatar billede recryl Nybegynder
22. december 2010 - 14:53 #1
Jeg har desværre stadig ikke kunnet finde en løsning på problemet. Lukker.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester