Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript]Jquery odnosi się do nieistniejącego elementu
neo1986kk
post
Post #1





Grupa: Zarejestrowani
Postów: 561
Pomógł: 3
Dołączył: 2.02.2009

Ostrzeżenie: (0%)
-----


  1. (function($){
  2. $.fn.aaa=function(){ alert('dziala');}
  3. })(jQuery)
  4.  
  5. $(document).ready(function(){
  6. $('#nieMaTakiegoElementuWDOM').aaa();
  7. });


Czy takie coś powinno zadziałać, czy ja już za długo przed kompem siedzę, wydaje mi się że powinien pokazać błąd, iż takiego elemetu nie ma, a on sobie beztrosko pokazuje alert.
Go to the top of the page
+Quote Post
trueblue
post
Post #2





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


W wewnątrz funkcji nie dostajesz elementów wybranych przez selektor, ale funkcja wykonuje się, a co za tym idzie alert.

Zmień trochę ciało funkcji:
  1. $.fn.aaa=function(){this.each(function(){console.log(this)});alert('dziala');}

i porównaj wynik w konsoli na znalezionych i nieznalezionych elementach.
Go to the top of the page
+Quote Post
neo1986kk
post
Post #3





Grupa: Zarejestrowani
Postów: 561
Pomógł: 3
Dołączył: 2.02.2009

Ostrzeżenie: (0%)
-----


no dobra to, że wykonuje funkcję to jeszcze spoko, mogę sprawdzić rzeczywiście czy taki element istnieje, ale mam przycisk, po którym powinien się pojawić ten alert i po kliknięciu przycisku funkcja się nie wykonuje

  1.  
  2. (function($){
  3. $.fn.aaa=function(){ alert('dziala'); $(this).click(function(){ alert('no to dziala'); }); }
  4. })(jQuery)
  5.  
  6. $(document).ready(function(){
  7. $('#pokazalert').aaa();
  8. });
  9.  
  10.  



i po załadowaniu strony pokazuje alert (aaa) ale po kliknięciu na przycisk o ID pokazalert już nie pokazuje nic
Go to the top of the page
+Quote Post
trueblue
post
Post #4





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


Powinieneś przeiterować przez tablicę elementów zwróconych dzięki selektorowi.
https://jsfiddle.net/ztsa6xu1/
Go to the top of the page
+Quote Post
neo1986kk
post
Post #5





Grupa: Zarejestrowani
Postów: 561
Pomógł: 3
Dołączył: 2.02.2009

Ostrzeżenie: (0%)
-----


To nie w tym rzecz, któryś ze skryptów mi musi blokować, bo żaden przycisk na stronie nie działa, poza tym tutaj selektorem jest ID elementu, a w DOMie powinien być tylko jeden element o takim ID.
Go to the top of the page
+Quote Post
trueblue
post
Post #6





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


  1. (function($){
  2. $.fn.aaa=function(){ alert('dziala'); this.click(function(){ alert('no to dziala'); }); }
  3. })(jQuery)

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 10:47