• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Po klknieciu tego podmień zawartość tego diva.

Cloud VPS
0 głosów
274 wizyt
pytanie zadane 19 kwietnia 2017 w JavaScript przez Vorex444 Dyskutant (9,610 p.)
Chce zrobić coś takiego, żeby po kliknięciu np. Trening nóg w divie obok zmieniła się treść, wiem że to wykonać można za pomocą innerHTML i tak bym chciał zrobić, ale nie wiem jak wybrać w javascript konkretny paragraf, mam coś takiego.

        <div id="lista">
        <h2>Lista treningów.</h2>
        <p>Trening nóg</p>
        <p>Trening nóg</p>
        <p>Trening nóg</p>
        <p>Trening nóg</p>
        <p>Trening nóg</p>
        <p>Trening nóg</p>
        <p>Trening nóg</p>
        <p>Trening nóg</p>
        <p>Trening nóg</p>
        <p>Trening nóg</p>
        <p>Trening nóg</p>
        <p>Trening nóg</p>
    </div>

 

Jak zrobić w javascript kod który będzie wiedział co teraz kliknalem, zamiast robić p1,p2,p3,p4,p5.

4 odpowiedzi

0 głosów
odpowiedź 19 kwietnia 2017 przez marcin99b Szeryf (84,470 p.)
document.getElementById(this)
Tak to chyba działało, długo nie pisałem w JS, ale na 99% tak to się robiło, odwołujesz sie do obiektu który wywołał funkcję.
0 głosów
odpowiedź 19 kwietnia 2017 przez imklau Nałogowiec (42,090 p.)

o właśnie ja kiedyś też się nad tym zastanawiałam ;)
i zrobiłam to tak, że pobrałam wszystkie te elementy np querySelectorAll('element') i do nich dałam funkcję po kliknięciu, w której użyłam this do zdobycia tego klikniętego elementu ;p

działać działało, ale nadal nie wiem, jaki sposób jest najlepszy na takie coś

komentarz 19 kwietnia 2017 przez Vorex444 Dyskutant (9,610 p.)

Dzięki :D, zanim odpisałaś to wymysliłem zeby do kazdego paragrafu dac onclicka innego :D 

<script>
function zmientenelement(){
    document.getElementById('treining-div-information').innerHTML ="Hello world!";
}    
    
 function zmientenelement2(){
    document.getElementById('treining-div-information').innerHTML ="Hello world2!";
}    
</script>
    

 

komentarz 19 kwietnia 2017 przez imklau Nałogowiec (42,090 p.)

hahah też by zadziałało, ale kod by fajnie wyglądał laugh

0 głosów
odpowiedź 19 kwietnia 2017 przez kubaapk Nałogowiec (44,270 p.)
Poczytaj o event delegation.
0 głosów
odpowiedź 22 kwietnia 2017 przez dkarski Obywatel (1,610 p.)

Vorex444, możesz przekazać do wskazanego diva kliknięty paragraf za pomocą właściwości target pobierając ją z event funkcji addEventListener. Warto sprawdzić, jak w Twoim przypadku jedynie pierw czy jest ono tym czym czego oczekujesz. Przykład:

document.getElementById("lista").addEventListener("click",function(event){
   if(event.target.nodeName == "P") console.log(event.target)
})

cały kod: https://codepen.io/anon/pen/VbjQeY

Podobne pytania

0 głosów
2 odpowiedzi 370 wizyt
+1 głos
2 odpowiedzi 135 wizyt
pytanie zadane 12 września 2023 w HTML i CSS przez Reapel Początkujący (320 p.)
0 głosów
2 odpowiedzi 1,227 wizyt
pytanie zadane 29 kwietnia 2017 w HTML i CSS przez Piotrinformatyk Początkujący (340 p.)

93,483 zapytań

142,417 odpowiedzi

322,763 komentarzy

62,895 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...