0
votes

JQuery n'ajoute que si la Div n'est pas vide

J'ai un élément div et je veux ajouter une icône à Hover mais JQuery ajoute l'icône seulement si la Div n'est pas vide sinon rien n'arrive.

p>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="tags">
  <p>The div isn't empty</p>
</div>


6 commentaires

Avez-vous juste voulu dire $ ('# tags') ? $ ('div #tags') Sélectionne un élément avec l'ID de Tags C'est un descendant d'une div, mais ce n'est pas le HTML que vous avez posté.


Pas clair ce que vous dites. Dites-vous que cela ne fonctionne pas si cet élément

n'est pas là?


Vous devriez probablement utiliser CSS pour cela, mais aussi ce que disent les autres personnes


@ j08691 avec seulement $ ('# tags') Cela ne fonctionne pas même si le div a des éléments à l'intérieur.


Avez-vous de la police génial référencé?


@epascarello oui


3 Réponses :


2
votes

Depuis le div em> et l'identifiant em> fait référence au même élément, vous ne devez pas avoir d'espace dans le sélecteur entre eux.

Veuillez noter : strong> depuis le id em> strud> attribut est unique dans un document, simplement $ ('# tags') code> est suffisamment sûr pour cibler l'élément. P>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="tags">
  
</div>


6 commentaires

Il convient de noter que div # balises ne fournit aucun avantage sur #tags . Il est légèrement plus élevé en termes de priorité CSS, mais cela importerait que s'il y avait un autre élément de la page avec le ID de Tags (ce qui ne devrait pas être le cas puisque ID s doit être unique).


Cela semble être une faute de frappe de la part de l'OP, qui est typiquement quelque chose que nous fermons une question pour ...


Avec seulement $ ('# tags'), cela ne fonctionne pas même si le div a des éléments à l'intérieur.


@ Alex3025, en raison de l'unicité de l'attribut ID attribut div # balises et #tags est fondamentalement la même chose. Il ne devrait y avoir aucune différence dans son comportement :)


@ Alex3025, avez-vous remarqué la mise à jour de la réponse?


@Mamun ouais, mais avec un travail, je reçois cela fonctionne par moi-même



1
votes

$ ('div #tags') est une mauvaise sélection de votre

dans votre cas. Ce que vous avez fait signifie que jQuery recherche un élément avec l'identifiant de #tags à l'intérieur du
. Au lieu de cela, vous devez le faire $ ('# tags') .

1 commentaires

Sans $ ('div #tags') il n'apporte pas même si la div n'est pas vide



0
votes

Hauteur et largeur de

code> &

code> Les éléments sont par défaut 0, d'où votre effet de navigation ne produirait pas (vous ne pouvez pas voler sur l'élément):

<div id="tags"><p>Not empty</p></div>


0 commentaires