« 1 2
Autor Zpráva
quatzael
Profil
Joker:
to, že si do tagu můžu dát jakékoli vlastní atributy jsem netušil..
A co ty hodnoty u těch subitemů?? Měl jsem na mysli číselný hodnoty.. Potřebuju je získávat a dělat s nimi různé výpočty..
Taky mám na ně vytvořit nějaký atribut??
Kcko
Profil
quatzael:
Znáš atribut data? Nastuduj si ho a budeš mile překvapen.
quatzael
Profil
Kcko:
no tak trochu jsem to nastudoval a pochopil jsem z toho, že je to až záležitost HTML5.. To znamená, že na starých prohlížečích to nebude fungovat, ne??

jinak tam ještě popisovali modernější přístup přes dataset property místo klasickýho .getAttribute();..

no takže tam teda můžu dát přímo i čísla??

jako třeba data-numerical-value="2"?? Musí to být vždycky jako string, tzn. jsou tam ty uvozovky nutný??
Kcko
Profil
quatzael:
Já používám jQuery. A IE 6 apod. mě nezajímá, takže nevím jestli to tam funguje. v IE 7+ bezproblémů... ano i čísla tam dát můžeš.
quatzael
Profil
Kcko:
ano i čísla tam dát můžeš

takže teda i bez uvozovek takhle??:

data-numerical-value=2

javascript to bude automaticky brát jako číslo??
Kcko
Profil
Ne nemůžeš, do uvozovek a jestli to má být číslo, tak si z toho číslo uděláš. Např. přes parseInt();

Co furt řešíš? :)
Chamurappi
Profil
Reaguji na quatzaela:
pochopil jsem z toho, že je to až záležitost HTML5..
Vlastní atributy fungují odjakživa. HTML 5 je jen formálně povolilo, vyhradilo jim jmennou konvenci a speciální vlastnost v DOMu (ta moc podporovaná není).

takže teda i bez uvozovek takhle??:
Atributy jde zapisovat i bez uvozovek, pokud neobsahují řídicí znaky, to platí obecně pro HTML, nesouvisí to s JS.

javascript to bude automaticky brát jako číslo??
Ne, hodnota atributu je vždy řetězec.
quatzael
Profil
ok, díky za rady.. budu muset pořádně zauvažovat jak to celý poskládat, protože je šíleně komlikovaný, těch funkcí je tam mraky, každá tak nějak závisí na tý druhý apod., tak snad to nějak dám dohromady..
preca1
Profil
Když je něco „šíleně komlikovaný“ a „těch funkcí je tam mraky, každá tak nějak závisí na tý druhý apod.“, tak to většinou zavání špatnym návrhem a dalo by se to udělat lépe a jednodušeji. Neříkam, že to je tvůj případ, ale ta možnost tu je. Já bych zkusil ještě jednou si celou tu aplikačku navrhnout a zamyslet se nad ní
Joker
Profil
quatzael:
no tak trochu jsem to nastudoval a pochopil jsem z toho, že je to až záležitost HTML5.. To znamená, že na starých prohlížečích to nebude fungovat, ne??
Není to nová věc.
S nadsázkou to z jistého úhlu pohledu je naopak omezení, dřív se používaly vlastní atributy všemožných názvů, teď ty názvy mají začínat data- :-)
Objektivně to samozřejmě omezení není, atributy fungují pořád stejně a jediná změna je, že validátor si u HTML 5 a atributů začínajících „data-“ nestěžuje, že ten atribut nezná. No a pak je samozřejmě výhoda, že tenhle způsob je standardizovaný, takže různé pluginy a frameworky ho budou očekávat. Třeba jQuery umí atributy prefixované „data-“ automaticky načíst do dat k prvku.

těch funkcí je tam mraky, každá tak nějak závisí na tý druhý apod., tak snad to nějak dám dohromady.
Jak píše preca1, v takovém případě to asi bude špatně navržené.
Některé příznaky špatného návrhu:
• opakování prakticky stejného bloku kódu na různých místech,
• sada funkcí, které dělají to samé s drobnými obměnami a každá se používá jen na jednom místě,
• dlouhé funkce dělající spoustu navzájem nesouvisejících věcí,
• funkce, která se volá z jediného místa a pro jinou situaci ani nejde použít (například vstupy se kterými pracuje má pevně zadrátované uvnitř),
• použití některých konstrukcí, typu goto (v jazycích, které ho vůbec mají), eval, while(true) a podobně,
• masivní používání globálních proměnných,
• a další.
Amunak
Profil
quatzael:
Nevím, jak to nakonec zpracuješ, ale chci upozornit na to, aby tě nenapadlo do těch sub-itemů dávat i vlastnosti jejich nadřazených objektů (itemů, obalů apod.). Sice by ti to trochu usnadnilo získávání těchto vlastností, ale extrémně by to protáhlo kód který leze k návštěvníku. K nadřazeným prvkům se můžeš velmi snadno dostat pomocí parentNode.
quatzael
Profil
preca1, Joker:
to, že těch funkcí je tam mraky neznamená, že tam plácám jednu za druhou a všelijak to lepím.. Vytvářím poměrně sofistikovanou aplikaci, která má být na venek pro uživatele co nejsrozumitelnější s velmi snadným ovládáním, ale to prostě vyžaduje hodně složitých funkcí... budu se to samozřejmě snažit udělat co nejefektivněji..
« 1 2

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: