Autor Zpráva
quatzael
Profil
Jak mám správně používat atribut selected?

Zdá se, že fungují obě varianty: jak samotný selected tak i selected="selected"

Ale určitě mi taky někdo řekne, že používání některé z těchto variant není cool..
Joker
Profil
quatzael:
Je to totéž, alespoň teoreticky. Uvedení samotného názvu atributu je zkratka pro hodnotu shodnou s názvem.

Ale nemusí to být úplně stoprocentní, například CSS deklarace [selected="selected"] by podle specifikace měla pobrat i prvky jen se samotným atributem (bez hodnoty), ale ne ve všech prohlížečích to tak funguje.
margin
Profil *
quatzael:
Zdá se, že fungují obě varianty
To není zdání, ale tak to v HTML má být a prohlížeče se na tom shodnou. JAk píše Joker, problémy mohou nastat, pokud potřebuješ pracovat s hodnotou atributu selected.
Syntaxe XHTML » Všechny atributy musejí mít hodnotu
quatzael
Profil
Díky za rychlou odpověď!


margin:
To tedy platí i pro atribut disabled? V XHTML musím mít správně disabled="disabled"?
Chamurappi
Profil
Reaguji na Jokera:
by podle specifikace měla pobrat i prvky jen se samotným atributem (bez hodnoty)
Podle HTML 4 to není atribut bez hodnoty, ale samotná hodnota atributu bez názvu a rovnítka. Jinými slovy se vynechává selected="selected", nikoliv selected="selected". Toto vynechání by mělo jít provést u všech atributů určených výčtem, nejen u těch, které mají jedinou možnou hodnotu (viz výsledek validace), ovšem v praxi to tak žádný prohlížeč nepodporuje. Matně si vzpomínám, že v někde fungovalo "selected" (tedy bez vynechání uvozovek), ale nevím, jak je to teď, v HTML 5 spoustu SGML balastu odpravili.


Reaguji na quatzaela:
Pokud v XHTML napíšeš jen disabled, nikoliv disabled="disabled", zahlásí ti prohlížeč syntaktickou chybu. Pokud ti funguje samotné disabled, pak nepoužíváš XHTML.
quatzael
Profil
Chamurappi:
Pokud v XHTML napíšeš jen disabled, nikoliv disabled="disabled", zahlásí ti prohlížeč syntaktickou chybu. Pokud ti funguje samotné disabled, pak nepoužíváš XHTML.

Mě nic prohlížeč nehlásil.. (myslím, že používám XHTML)

Ale za to se ozval na tohle, že to je nějak špatně deklarováno nebo něco se mu na tom nelíbilo:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="cs" lang="cs">
Chamurappi
Profil
Reaguji na quatzaela:
Mě nic prohlížeč nehlásil.. (myslím, že používám XHTML)
To se navzájem vylučuje. Základním rysem XHTML je drakonismus — garance, že stránka s chybou nikomu nefunguje.

Způsob zpracování je určený MIME typem (na serveru HTTP hlavičkou Content-Type, na disku je odvozený od přípony), text/html je HTML, application/xhtml+xml je XHTML (nefunguje ve starších Explorerech). Ty pravděpodobně používáš text/html, takže spadáš do jurisdikce HTML a můžeš vesele vyznačovat samotným selected, nehledě na to, jaké ptákoviny si napíšeš do <!doctype> deklarace. Jediné, na co pak má <!doctype> vliv, je vykreslovací režim.
quatzael
Profil
Chamurappi:
Mě na to na ten DOCTYPE hlásí tohle:
HTML1524: Neplatná značka DOCTYPE. Nejkratší platná značka doctype je <!DOCTYPE html>.

jo a v meta mám tohle:
   
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta http-equiv="content-language" content="cs" />
Chamurappi
Profil
Reaguji na quatzaela:
jo a v meta mám tohle
Element <meta> nehraje vůbec žádnou roli při rozhodování o HTML/XHTML. V HTML pouze může určovat kódování (v XHTML ne).
HTTP hlavičky si můžeš zobrazit třeba Web-Snifferem.
quatzael
Profil
Chamurappi:
Háže mi to:

Connect to 88.208.118.158 on port 80 ... ok

GET / HTTP/1.1[CRLF]
Connection: close[CRLF]
User-Agent: Web-sniffer/1.0.46 (+http://web-sniffer.net/)[CRLF]
Accept-Encoding: gzip[CRLF]
Accept-Charset: ISO-8859-1,UTF-8;q=0.7,*;q=0.7[CRLF]
Cache-Control: no-cache[CRLF]
Accept-Language: de,en;q=0.7,en-us;q=0.3[CRLF]
Referer: http://web-sniffer.net/[CRLF]
[CRLF]


Status: HTTP/1.1 200 OK
Date: Sun, 07 Jul 2013 21:56:39 GMT
Server: Apache
X-Powered-By: PHP/5.3.3-7+squeeze15
Set-Cookie: PHPSESSID=jjggimih5vclu3856glu6128g0; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 3255
Connection: close
Content-Type: text/html



Měl bych si to nějak převést na XHTML?? V čem je lepší XHTML? Má to nějaký vliv na SEO?
Chamurappi
Profil
Reaguji na quatzaela:
Měl bych si to nějak převést na XHTML??
Ne. Přečti si znovu [#7].

V čem je lepší XHTML?
Má v názvu písmeno X. Jinak viz Jaké jsou výhody XHTML oproti HTML?

Má to nějaký vliv na SEO?
Dnes už možná ne. Před pár lety vyhledávače XHTML nepodporovaly, protože nemělo smysl posílat hledajícího uživatele na stránku, kterou majoritní prohlížeč nedokáže zobrazit.
Trejpa
Profil
quatzael:
Zjednoduším to. Ať napíšeš do kódu stránky cokoliv a beze změn nastavení serveru to pošleš s příponou HTM, HTML nebo PHP, tak to prohlížeče dostanou s hlavičkou Content-Type: text/html (poslední řádek ve tvém výpise) a díky tomu se k souboru musí chovat jako k HTML. Veškerý balast v kódu nekompatibilní s jazykem HTML prohlížeče obvykle úspěšně ignorují jako chybu.

Pokud bys Content-Type změnil (důrazně nedoporučuji) u zasílanému souboru v nastavení serveru nebo PHP na některý XHTML kompatibilní typ, například application/xhtml+xml, tak by se k němu musel prohlížeč chovat jako k XHTML, tedy se všemi jeho nevýhodami (jediná chyba způsobí nezobrazení, různé prohlížeče vyhodnocují různé chyby různě, některé starší prohlížeče tento Content-Type neumí zobrazit vůbec a podobně).
quatzael
Profil
Chamurappi, Trejpa:
Aha.. Díky za vysvětlení.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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