NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: Jak fungují funkce REPLACEWITH a REPLACEALL?

V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
pokusnicek
Člen
Avatar
pokusnicek:3.5.2017 8:32

Ahoj,

mohu se zeptat, co je na tomto kodu špatně, že nefungují dané funkce?

<!DOCTYPE html>
<html>
<head>
        <title>POKUS</title>
        <meta charset="utf-8">
        <!-- jQuery + UI -->
   <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
   <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
  <script type="text/javascript">
          $(document).ready(function(){
                $('p').click(function(){
                $('p').replaceWith("<span style='color:red'>Praha</span>");
          });
                $('.tlac').click(function(){
                        $("<span style='color:red'></span>").replaceAll('p');
                 });
      });
  </script>
 </head>
<body>
   <p>Brno</p>
   <button class="tlac">Vrat Brno zpět</button>
</body>
</html>
 
Odpovědět
3.5.2017 8:32
Avatar
Jiří Fencl
Člen
Avatar
Jiří Fencl:3.5.2017 8:41

Ten replaceWith normalne funguje, ale az po kliku na element p. Pomoci toho replaceWith si ale odstranis element p a pak pro replaceAll neni zadny element p k nahrazeni

 
Nahoru Odpovědět
3.5.2017 8:41
Avatar
pokusnicek
Člen
Avatar
pokusnicek:3.5.2017 8:44

Dobře a jak tedy se dají měnit dané obsahy?

 
Nahoru Odpovědět
3.5.2017 8:44
Avatar
Jiří Fencl
Člen
Avatar
Jiří Fencl:3.5.2017 15:39

Hlavne neni dobre si replacem odstranit ten prvek, kde je nabindovana akce po kliku, takze by bylo lepsi to jeste obalit a pak nahrazovat blok p blokem p viz:

$(document).ready(function(){
    $('p').wrap('<div class="toReplace"></div>');
      $('.toReplace').click(function(){
        $(this).find('p').replaceWith("<p><span style='color:red'>Praha</span></p>");
      });
      $('.tlac').click(function(){
        $("<p><span style='color:red'>Brno</span></p>").replaceAll('.toReplace p');
      });
});
Editováno 3.5.2017 15:41
 
Nahoru Odpovědět
3.5.2017 15:39
Avatar
Honza Bittner
Tvůrce
Avatar
Nahoru Odpovědět
4.5.2017 15:28
FIT ČVUT alumnus :-) Sleduj mě na https://twitter.com/tenhobi a ptej se na cokoli na https://github.com/tenhobi/ama.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.