2012-08-02 14 views
8

byłem przeglądania witryny i znaleźć ten wiersz kodu:Dlaczego istnieją ukośniki w tym identyfikatorze div?

<div class="section slideshow" id="/featured/"> 

nigdy nie widziałem ukośniki w tagu id wcześniej, jest to biedny kodowanie, problem napisany przez bazy danych, czy coś innego?

+1

To nie byłoby ważne przed HTML 5, ale jest teraz. Identyfikator mógł zostać wygenerowany z lokalizacji w stylu XPATH, która gwarantowałaby unikalność, ale jest to czysto domysły. – detaylor

+0

po prostu odwiedź [W3C] (http://www.w3.org/TR/html401/types.html#h-6.2) po więcej szczegółów ... –

+0

@Doc Są to specyfikacje html4.01 i nie mają zastosowania html5, gdzie [ograniczenia te zostały usunięte] (http://www.w3.org/TR/2011/WD-html5-20110525/elements.html#the-id- attribute). – Christoph

Odpowiedz

4

ukośniki w atrybutem id nie jest ważny znak:

Tokeny identyfikatorów i NAZWA muszą rozpoczynać się od litery ([A-Za-z]) i mogą to być , a następnie dowolna liczba liter, cyfr ([0-9]), łączników ("-"), podkreślenie ("_"), dwukropki (":") i kropki (".").

+0

Nieprawda w html5! ['Wartość musi być unikalna wśród wszystkich identyfikatorów w macierzystym poddrzewie elementu i musi zawierać co najmniej jeden znak. Wartość nie może zawierać żadnych znaków spacji. "(Http://www.w3.org/TR/2011/WD-html5-20110525/elements.html # the-id-attribute) – Christoph

+0

Nadal sprawdza się poprawnie, mimo że używasz ? Wiem, że to nie jest ważna postać, jak powiedział. Pomyślałem, że chciałbym tylko wspomnieć, że mimo to sprawdza poprawnie. W jakim celu tego użyję, nie wiem. Pozdrawiam –

+0

Ta postać jest ważna! Ograniczenia html4.01 zostały usunięte w 5. – Christoph

3

Może go używać bezpośrednio w adresie URL i/lub z javascript ...

-1

Sprawdź poniżej program id jest po prostu skierować ten konkretny tag, to nie koniecznie nedd się w określonym formacie,

<html> 
<head> 
<script type="text/javascript"> 
function displayResult() 
{ 
document.getElementById("/myHeader/").innerHTML="Have a nice day!"; 
} 
</script> 
</head> 

<body> 
<h1 id="/myHeader/">Hello World!</h1> 
<button onclick="displayResult()">Change text</button> 
</body> 

</html> 

powyższy program daje lepsze zrozumienie

+0

Pyta o użycie Slasha (/), a nie o atrybut id – Prabhavith

1

istnieje wiele przyczyn takiego procesu, nawet jeśli okaże się, że to nie jest powszechne, deweloper ma do wyboru powołania tej klasy i id nazwa:

Może on używać tej metody do różnicowania ta sama nazwa Id bez ukośników,

Może on skorzystać z tej metody dla wkładki z tego identyfikatora w sznurku do

  • Włożyć do bazy danych.
  • przejdź do adresu URL.
  • inne kodowanie usprawiedliwić ...

Może to tylko CMS lub nomenklatura Framework za ...

To samo rozwiązanie jest skontaktować się z twórcą strony internetowej dla zadać to pytanie ...

, ale jeśli chcesz więcej informacji, odwiedź stronę internetową W3C namming Nomenclature ...

2

Może on używać tej metody do wkładki do bazy (wstawić id w łańcuchu) lub przejdź do adresu URL.

Slashe nie jest ważna postać dla ID w HTML 4.01 ale jego ważność w HTML5.

HTML 4.01

ID i nazwa znaczniki muszą rozpoczynać się literą ([A-Za-Z]) i mogą być następuje dowolny numer liter, cyfr ([0- 9]), łączniki ("-"), podkreślenia ("_"), dwukropki (":") i kropki (".").

referencyjny:What are valid values for the id attribute in HTML?

http://www.w3.org/TR/html5/global-attributes.html#the-id-attribute

+0

Czy odwołujesz się do specyfikacji html5, ale cytując specyfikację 4.01? Przeczytaj ponownie w specyfikacji html5 - ukośniki są poprawnymi znakami – Christoph

+0

Oświadczenie jest poprawne, ale nie odpowiada na pytanie "dlaczego". –

-1

HTML5 pozwala na niemal dowolną wartość atrybutu id - używać mądrze

HTML 4.01 jest bardzo restrykcyjne w zakresie jakie wartości są dozwolone dla id atrybuty: token ID i NAME musi rozpoczynać się od litery ([A-Za-z]), a po niej może następować dowolna liczba liter, cyfr ([0-9]), łączników ("-"), podkreśleń ("_"), dwukropków (":") i kropek (".").

http://www.456bereastreet.com/archive/201011/html5_allows_almost_any_value_for_the_id_attribute_use_wisely/

-1

Atrybuty elementu są wyrażane we wnętrzu znacznika początkowego elementu. Atrybuty mają nazwę i wartość.

Nigdy nie może być dwóch lub więcej atrybutów na tym samym znaczniku początkowym, których nazwy są dla siebie niewrażliwe na wielkość liter.

Poniższa lista zawiera reguły składni atrybutów w dokumentach w składni HTML. Reguły składni dla atrybutów w dokumentach w składni XML. są zdefiniowane w specyfikacji XML [XML].

Nazwy atrybutów muszą składać się z jednego lub więcej znaków innych niż spacje, U + 0000 NULL, "" "," "", ">", "/", "=", znaków sterujących i dowolnego znaki, które nie są zdefiniowane przez Unicode Nazwy atrybutów kompatybilnych z XML to te, które pasują do produkcji nazw zdefiniowanej w specyfikacji XML [XML] i które nie zawierają znaków ":", a pierwsze trzy znaki nie uwzględniają wielkości liter. dla ciągu znaków "xml" Wartości atrybutów mogą zawierać odwołania do tekstu i znaków, z dodatkowymi ograniczeniami w zależności od tego, czy są to niecytowane wartości atrybutów, wartości atrybutów z pojedynczym cudzysłowem lub wartości cudzysłowów o podwójnych cudzysłowach. odwołanie opisuje dalsze ograniczenia dopuszczalnych wartości poszczególnych atrybutów, a atrybuty muszą mieć wartości tha t są zgodne z tymi ograniczeniami.

Więcej informacji można znaleźć http://dev.w3.org/html5/markup/syntax.html#syntax-attributes

0

Wysłałem e-mail do witryny, a właściciel odpowiedział.

Witryna to HTML4/ASPX i używa tej przekreślonej zmiennej po wywołaniu przez Javascript, aby wyświetlić pokaz slajdów.

Nie obchodziło go, że to nie jest poprawne, ale działało dobrze we wszystkich przeglądarkach.

Powiązane problemy