2016-05-19 29 views
0

Zwei einfache Fragen aus der HTML5-Spezifikation über mehrere IDs.HTML5 - mehrere IDs auf demselben Element? Sprachabhängige ID für Hash-Nutzung?

Warum kann ein Element nicht mehrere IDs haben? Es ist wichtig, keine IDs zu duplizieren, aber eine "Äquivalenzrelation" zwischen Element und ID zu haben, sieht seltsam aus. Wenn es keinen wirklichen Grund gibt, und es basiert auf der Meinung, bitte überspringen Sie es einfach. Wenn es einige Gründe gibt (Javascript eins zu eins Beziehung oder etw sonst, teilen Sie es bitte mit mir!).


Ich arbeite an SEO für einige Seite. Die Seite Verwendung ids einige Punkte der Seite zu verankern, zum Beispiel (es ist ein dummes Beispiel, aber es wird nur verwendet, um den Kontext zu zeigen):

<a href="#comment1">Take a look at the first comment</a> 

Ich mag die id = „comment1“ mehrsprachiger zu sein und ich habe nur eine universelle Vorlage. Was ist mehr, manchmal sind die IDs für Styling verwendet und wie folgt aussieht:

<article id="blog_latest">...</article> 

Allerdings habe ich zu diesem Artikel verankert werden soll, unter Verwendung von zum Beispiel Adresse:

http://en.mysite.com/blog#latest_post 
http://pl.mysite.com/blog#najnowszy_wpis 

Was soll ich tun ?


Zusätzliche Anmerkung:

Das ist seltsam, aber ich denke, dass:

  • ids sind oft in der URL angezeigt - TRUE
  • URL muss Sprache abhängig sein - TRUE
  • ein Element mit einer ID versauen es bei der Verwendung der gleichen Vorlagen - TRUE

Alle drei können nicht gleichzeitig wahr sein ... Hat jemand von W3C etwas verpasst oder fehlt mir etwas? :)

Antwort

1

Ich denke, Ihre erste Annahme ist nicht wahr. Sicher können Sie den Hash-Wert der URL verwenden, um zu einem Anker zu blättern. Die meisten Browser tun das standardmäßig und einige Frameworks (wie backbone.js) machen dasselbe.

Und das ist ganz in Ordnung! Denn es ist ein Anker und kein ID! Anker und ID teilen nur die Schreibweise, aber nur zufällig.

Also, für den Kern Ihrer Frage, können Sie (und möglicherweise sollte) verwenden unterschiedliche Anker für sprachabhängigen Varianten einer Seite und verwenden Sie diese Anker in Ihrem DOM (als Anker, nicht ids!)