it-swarm.com.de

jQuery: Klasse und ID eines Elements gleichzeitig auswählen?

Ich habe einige Links, über die ich gleichzeitig Klasse und ID auswählen möchte.

Das liegt daran, dass ich zwei verschiedene Verhaltensweisen habe. Wenn eine Klasse von Links einen Klassennamen hat, verhalten sie sich in einer Weise, wenn dieselbe Klasse von Links einen anderen Klassennamen hat, verhalten sie sich anders. Die Klassennamen werden mit jquery gewechselt.

Ich muss also in der Lage sein, gleichzeitig eine Verknüpfungsklasse UND -ID auszuwählen. Ist das möglich?

Ich habe es versucht:

 $("a .save #country")

ohne Ergebnis.

157
ajsie

Du kannst tun:

$("#country.save")...

OR

$("a#country.save")...

OR

$("a.save#country")...

wie Sie es vorziehen.

Ja, Sie können also einen Selektor angeben, der mit der ID nd class (und möglicherweise dem Tag-Namen und allem anderen, das Sie einwerfen möchten) übereinstimmen muss.

280
cletus

Nur um hinzuzufügen, dass die Antwort, die Alex mir gegeben hat, für mich funktioniert hat und nicht die, die als Antwort hervorgehoben wird.

Dieser hat bei mir nicht funktioniert

$('#country.save') 

Aber dieser tat:

$('#country .save') 

mein Fazit ist also, den Raum zu nutzen. Jetzt weiß ich nicht, ob es sich um die neue Version von jQuery handelt, die ich verwende (1.5.1), aber ich hoffe, dies hilft jedem mit ähnlichen Problemen, die ich hatte.

edit: Voller Dank für die Erklärung (im Kommentar zu Alex 'Antwort) geht an Felix Kling, der sagt:

Das Leerzeichen ist der Nachkommen-Selektor, d. H. A B bedeutet "Übereinstimmung mit allen Elementen, die mit B übereinstimmen, die ein Nachkomme von Elementen sind, die mit A übereinstimmen". AB bedeutet "Alle Elemente auswählen, die mit A und B übereinstimmen". Es kommt also wirklich darauf an, was Sie erreichen wollen. #country.save und #country .save sind nicht gleichwertig.

40
Nikola

Dies funktioniert, wenn zwischen id und class identifier ein Leerzeichen eingefügt wird

$("#countery .save")...

8
Alex

Am Ende gelten die gleichen Regeln wie für CSS.

Ich denke also, dass diese Referenz von wertvollem Nutzen sein könnte.

2
getack

Wie wäre es mit diesem Code?

$("a.save#country")
1
Pekka 웃
$("a.save, #country") 

wählt sowohl die Klassen- als auch die Länder-ID "a.save" aus.

1
o.k.w