CSS/HTML: mehrere ID's mit ":target" ansprechen?

4 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

ID muss eindeutig sein. Die Spezifikation von HTML5 sagt:

When specified on HTML elements, the id attribute value must be unique amongst all the IDs in the element’s tree <...>

Um die erforderlichen HTML-Blöcke einzufärben, können Sie ihnen Attribute zuweisen, die mit dem Wort "data-" beginnen. Sie können dann den Hash definieren, die Blöcke mit dem entsprechenden Attributwert finden und ihnen mit jQuery Stilklassen zuweisen.

HTML

<div data-target="april">April</div>
<div data-target="may">May</div>
<div data-target="april">April</div>
<div data-target="may">May</div>
<div data-target="april">April</div>
<div data-target="may">May</div>

CSS

.blue {
	color: blue;
}
.red {
	color: red;
}

jQuery

jQuery(document).ready(function($) {
	var hash = window.location.hash.slice(1);
	if (hash) {
		$('[data-target="' + hash + '"]').addClass('blue').first().addClass('red');
	}
});

Vielen dank einmal für die Erklärung, und für das Codebeispiel! Vielen Dank!

0

Hallo, zwei IDs auf einer Seite bedeutet gleichzeitig invalides HTML. Davon würde ich dir abraten. Wenn du beiden Elementen die gleiche Klasse gibts kannst du das über JavaScript einfach ansprechen.

Woher ich das weiß: Berufserfahrung

in HTML hat man keine 2 ID'S mit dem selben Wert , auch bei HTML ist eine ID eindeutig zu wählen .

ID = eindeutig für ein element

Name = dürfen gleich sein für mehrere elemente

machst du das nicht wird jeder validator mekkern , und nachtteile in suchmaschinen haste dann auch .

machst du das nicht wird jeder validator mekkern

Stimmt.

und nachtteile in suchmaschinen haste dann auch 

Stimmt nicht.

0
@EinAlexander

kommt auf die suchmaschine an , google interresiert es nicht . da gebe ich dir recht . andere maschinen die damit arbeiten wollen schon und da meine ich wirklich ID insbesondere . wenn so eine preismaschine meine seite gar nicht lesen kann weil ich dauernt die gleiche ID nehmen , bin ich schnell raus , ausser ich bin wichtig , dann mach sich einer rann und macht ein workaround.

0

Was möchtest Du wissen?