Ich frage mich, wie ich eine CSS-Klasse zu einem Link basierend auf der ID in der Verknüpfung mit jQuery hinzufügen kann. Ich möchte die CSS-Klasse "aktiv" zu der Verknüpfung hinzufügen, wenn die if-Anweisung wahr ist. Nicht, dass ich nicht "pFavorite" aus der Klasse in Link entfernen möchte, wenn die Aussage wahr ist, ich möchte nur aktiv hinzufügen, wie dies class = "pFavorite aktiv" Ich bin nicht das in jQuery noch. Ich hoffe, dass mein Code immer noch erklärt, was ich erreichen möchte.Add CSS-Klasse basierend auf ID
<?php
foreach($statement as $p)
{
if(array_search($p['id'], explode(",", $_COOKIE['cookie'])))
{
?>
<script type="text/javascript">
$("#<?php echo $p['id']; ?>", ".pFavorite").addClass("active");
</script>
<a href="#" class="pFavorite" id="<?php echo $p['id']; ?>">IMG HERE</a>
<?php
}
}
?>
Wenn Sie PHP zu Beginn verwenden, warum nicht den Klassennamen direkt über PHP setzen? Das Problem mit Ihrer jQuery ist, dass das Skript ausgeführt wird, bevor das Objekt gerendert wird. jQuery kann es nicht finden. Setzen Sie das SCRIPT-Tag NACH dem Anker-Tag. –
Ich stimme DA zu, benutze PHP, um die aktive Klasse zu machen, damit dein Code einfacher und zentralisierter wird. Alternativ, wenn Sie wirklich jQuery benötigen, sollten Sie Ihren js-Code in '$() verschieben. Ready (function() {/ * code here * /});' – logan
ist es nur ich oder darf es nicht eine ID haben, um alle numerisch zu sein? (ok ich weiß nicht, was in Ihrem $ p ['id'] ...) – Rufinus