Je me demandais simplement s'il était possible de convertir ce qui suit en une instruction IF en Javascript:
$(".Nav table tr:has(table.navheader) + tr:has(table.navitem)").addClass("linksbelow");
Exemple:
IF $(".Nav table tr:has(table.navheader) + tr:has(table.navitem)").addClass("linksbelow"); = **TRUE** (
$(".Nav table .navheader").addClass("linksbelow");
)
**ELSE** (
$(".Nav table .navheader").addClass("Nolinksbelow");
Réponses:
3 pour la réponse № 1Vous pouvez simplement l'aborder de cette façon:
$(".Nav table .navheader").addClass("Nolinksbelow");
$(".Nav table tr:has(table.navheader) + tr:has(table.navitem)").addClass("linksbelow").find(".navheader").addClass("linksbelow").removeClass("Nolinksbelow");
Ici, je commence par supposer que non .navheader
s avoir des liens, puis aller appliquer le linksbelow
classe comme tu le faisais avant, et puis (voici le bit important) trouver() approprié .navheader
enfants et corrigez-les en supprimant le (maintenant incorrect) Nolinksbelow
classe et en ajoutant le correct linksbelow
classe.
1 pour la réponse № 2
Voici ce que je devine de ce que vous pourriez éventuellement vouloir:
var q = $(".Nav table tr:has(table.navheader) + tr:has(table.navitem)");
if (q.length) {
q.addClass("linksbelow");
$(".Nav table .navheader").addClass("linksbelow");
} else {
$(".Nav table .navheader").addClass("Nolinksbelow");
}
0 pour la réponse № 3
Vous ne savez pas vraiment ce que vous demandez, vous avez simplement besoin de la syntaxe de if / else en js? Essaye ça
0 pour la réponse № 4
Vous êtes conscient que jQuery est javascript, n'est-ce pas?
Implicitement, la réponse à votre question est donc "oui", mais vous vous retrouvez avec un peu de javascript qui ressemble étrangement à une petite partie de jquery ...
0 pour la réponse № 5
Je ne suis pas en train de suivre le lien entre votre première ligne de code et l '"Exemple". Pouvez-vous décrire l'effet que vous essayez d'obtenir avec des mots?
Votre première ligne se lit comme suit:
(1) Ajouter la classe
linksbelow
à tous lestr
éléments qui contiennent untable.navitem
immédiatement aprèstr
qui contient untable.navheader
dans.Nav table
Et l'exemple se lit comme suit:
(2) Ajouter une classe à tout élément qui correspond
.Nav table .navheader
. Le nom de classe dépend du résultat de (1). Si l'opération dans (1) a réussi (ce qui signifie probablement si elle correspond à un élément), le nom de la classe doit êtrelinksbelow
, autrementNolinksbelow
.