jQuery - ID hinzufügen

aurus

Mitglied
Hallo zusammen :)

Ich habe wieder ein Problem mit jQuery/JavaScript^^
Und zwar versuche ich über attr('', ''); einem Element eine ID zuzuweisen. Anfangs werden mit each bestimmte Klassen durchlaufen. Dabei werden einige Werte ermittelt. Zusätzlich soll dabei jetzt noch der Klasse eine ID gegeben werden. Und das will bei mir irgendwie nicht klappen?!

Vereinfacht sieht der Code so aus:

$('.klasse1').each(function(e) {

//Code
//Hier soll jeder Klasse "klasse1" jetzt eine ID gegeben werden

});

Wäre nett, wenn jemand mir helfen könnte
 
Probier mal in deiner Funktion folgendes
Javascript:
$(this).attr("id", "klasse1");
Allerdings muss die ID im ganzen (HTML-)Dokument eindeutig sein. Sodass es eigentlich keinen Sinn macht, alle Elemente einer Klasse eine ID zu geben.
Was willst du denn genau machen?
 
Hi, danke für die schnelle Antwort :)

Die ID ist bzw. bleibt auch eindeutig. Soll heißen, dass eine Zählvariable mitläuft und sicherstellt, dass die ID immer eindeutig ist. Nehmen wir an ich habe 5 Container mit "klasse1". Über "each" bekommt der erste Container "klasse1" dann die ID "id1", der zweite Container mit "klasse1" die ID "id2" usw.

Das brauche ich später für die eindeutige Identifizierung.

Deinen Code hatte ich so schon getestet. Hat nicht geklappt. Mir ist aber auch nicht ganz klar, ob diese Funktion die ID nur überschreibt (ich also schon eine leere anlegen muss oder so?!) oder das Attribut auch ganz erstellt. Also wenn ich anfangs nur
Code:
<div class="klasse1"></div>
habe, dass dann
Code:
<div class="klasse1" id="id1"></div>
draus wird.
 
Nein, eine Fehlermeldung bekomme ich nicht?!

Ich werde das aber noch einmal so probieren. Danke für die Hilfe soweit. Ich melde mich, wenn ich es getestet habe :)
 
Ok, jetzt klappt zwar alles soweit, aber ich schaffe was anderes nicht^^

Ich habe in etwa folgende HTML-Struktur:

HTML:
<div>
<div></div>
<span class="click"></span>
</div>

Ich möchte jetzt einfach bei Klick auf den im "span" befindlichen Inhalten (zum Test) Infos zum davor liegenden "div" herausfinden. Unter anderem die ID, die ich oben festgelegt habe. Ich dachte über prev() ließe sich das einfach machen. Aber das klappt nun irgendwie nicht?!

Weiß jemand Rat? Einen Fehler davor oder dahinter kann ich jetzt eigentlich ausschließen :D
 
prev() funktioniert bei mir wie gewünscht.

HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
	<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
	
	<title>prev()</title>
</head>

<body>
	<div>
		<div id="foobar"></div>
		<span class="click">Inhalt</span>
	</div>
	
	<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js"></script>
	<script type="text/javascript">
	/* <![CDATA[ */
	$(function() {
		$('.click').click(function() {
			alert( $(this).prev().attr('id') );
		});
	});
	/* ]]> */
	</script>
</body>

</html>
 
Ok, also ich habe es selber jetzt noch einmal getestet. Und zwar in einer isolierten Umgebung ohne weitere Spielereien. Und da hat alles einwandfrei geklappt. Genauso, wie ich wollte :)

Wie oben schon wird der Fehler dann wohl woanders liegen. Da muss ich dann noch mal ran. Ersteinmal vielen Dank für die nette Hilfe hier.

@ComFreek
Danke für den Link oben, eine tolle Hilfe die Seite. Kannte ich bisher nicht.
 

Neue Beiträge

Zurück