NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze – Lekce 4 - Odstraňování obsahu v jQuery (DOM)

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
Pavel Vosyka
Člen
Avatar
Pavel Vosyka:23.2.2014 13:32

Pěkné, o předávání argumentů v .remove() jsem nevěděl. A o fci .deteach() taky ne :)

Editováno 23.2.2014 13:32
Odpovědět
23.2.2014 13:32
"nikdy nepiš nic 2x" (updated 10 years after: "Není nic špatného na tom napsat něco 2x")
Avatar
Radomír Panna:10.9.2014 8:57

Zdar, jeden takový všetečný dotaz. Nějak jsem nepobral kdy se píše ' a kdy " . Většinou fungovaly ', ale u

$('ul li').filter(":contains('ek')").remove();

jsem narazil.

$('ul li').filter(':contains('ek')').remove();

nefunguje. Jak to tedy je?

 
Odpovědět
10.9.2014 8:57
Avatar
Odpovídá na Radomír Panna
Michal Štěpánek:10.9.2014 10:27

u jednoho elementu nemůžeš použít stejné uvozovky dvakrát, musíš to kombinovat. Když použiješ stejné uvozovky, ten element si to přebere blbě, protože nepozná začátek a konec uvozovek a nerozezná, které uvozovky patří k sobě...

':contains('
')'

správně

":contains('ek')"
Editováno 10.9.2014 10:28
Odpovědět
10.9.2014 10:27
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
1Pupik1989
Člen
Avatar
Odpovídá na Michal Štěpánek
1Pupik1989:10.9.2014 11:58

Může je escapovat.

':contains(\'ek\')'
 
Odpovědět
10.9.2014 11:58
Avatar
Odpovídá na 1Pupik1989
Michal Štěpánek:10.9.2014 14:26

jen jsem vysvětlil, jak to program chápe při takovém zápisu...

Odpovědět
10.9.2014 14:26
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Patrik Pastor:2.4.2019 23:02

cau, nepochopil jsem akorat (teda myslim se ze jo, ale nejsem si jisty), kdyz v posledni ukazce byla deklarovana funkce takto: $.each(sklad, function(){....}); ------- tak jak to ze muzu deklarovat $ - dolarem, a hned za nim tecku: "$." ------ kdyz do ted se deklarovalo dolarem $ ale ZAVORKOU ZA NIM: "$(-promenna-). Pokud je dolar jako funckce, ale ne jako promenna. Jaky je tedy v tom rozdil, jak to ze se funkce chova jako promenna (ktera se deklaruje klicovym slovem "let", tak snad "$" a "let" neni to same ne)?

Predem diky.

Editováno 2.4.2019 23:03
 
Odpovědět
2.4.2019 23:02
Avatar
Petr Svoboda
Člen
Avatar
Petr Svoboda:5.2.2022 14:54

Použití dolaru při přístupu k proměnné "toto" je zbytečné, domínvám se. Click handling v posledním příkladě jsem přepsal a funguje to.

$('p').click(function () {
    let toto = $(this);
    toto.empty();
    $(sklad).each((i, v) => toto.append(v));
})
 
Odpovědět
5.2.2022 14:54
Avatar
Jaroslav Drobek:13.5.2022 10:01

Hodnocení:

  • V ukázce 2, odstranění "Sobota" a "Neděle", je rozhozený text.
  • Proč empty nepodporuje argument pro selektor jako to dělá remove?
  • Ukázka 5: po vyjmutí nevkládáme celý element, jen jeho ..text.
 
Odpovědět
13.5.2022 10:01
Avatar
Jaroslav Drobek:13.5.2022 10:02

Hodnocení (pokračování):

  • Ukázka 6: k čemu je parametri? V těle funkce použití není patrné. ..."Vše by nám mělo fungovat.." ale nefunguje - po kliknutí na odstavec se zobrazí vyjmuté položky, ale bez odrážek. Proč by tam taky měly být odrážky, když nejsou obaleny ul? V tomto případě opravdu vkládáme celé elementy, ale to na výstupu nelze pozorovat.
 
Odpovědět
13.5.2022 10:02
Avatar
Lubor Pešek
Člen
Avatar
Lubor Pešek:28.6.2022 22:42
$.each(array, function(index, value) {
});

Tak nad takovouto syntaxí jsem se musel tedy hodně nadechnout. Snažím se prostě smířit s tím, že některé syntaxe i když jsou šílené, tak ok, prostě nějaký smysl mít můžou.
jQuery mi zatím přijde výhodnější pouze ve dvou věcech (že elementy beru rychleji pomocí $("existující-tag") než document.getE­lementsByTagNa­me("existující-tag")[0].
A že jde volat posluchač na jakýkoliv element + můžu dynamicky měnit posluchače, když je psaný jako text.

Ovšem takováto syntaxe mi fakt svírá žaludek.
$.each
Tečka je přece operátor, který vyvolává metodu (funkci) a provolává se na nějakém objektu. A ten samostatný dolar je snad nějaký objekt?

Zatím super, ale tato syntaxe mi hlavu nebere.

Odpovědět
28.6.2022 22:42
Existují dva způsoby, jak vyřešit problém. Za prvé vyhoďte počítač z okna. Za druhé vyhoďte okna z počítače.
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 10 zpráv z 16.