IT rekvalifikácia. Seniorní programátori zarábajú až 6 000 €/mesiac a rekvalifikácia je prvým krokom. Zisti, ako na to!

Diskusia – 4. diel - Odstraňovanie obsahu v jQuery (DOM)

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
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 :)

Editované 23.2.2014 13:32
Odpovedať
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?

 
Odpovedať
10.9.2014 8:57
Avatar
Odpovedá 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')"
Editované 10.9.2014 10:28
Odpovedať
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
Odpovedá na Michal Štěpánek
1Pupik1989:10.9.2014 11:58

Může je escapovat.

':contains(\'ek\')'
 
Odpovedať
10.9.2014 11:58
Avatar
Odpovedá 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...

Odpovedať
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.

Editované 2.4.2019 23:03
 
Odpovedať
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));
})
 
Odpovedať
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.
 
Odpovedať
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.
 
Odpovedať
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.

Odpovedať
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.
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zatiaľ nikto nevložil komentár - buď prvý!