-1
votes

Comment supprimer du texte d'une balise

Si un élément a une classe active, je souhaite supprimer uniquement le texte de la balise. Je l'ai essayé avec $(selector).remove(selector) mais un problème est que j'ai besoin d'un sélecteur pour supprimer quelque chose ...

<li class="active">
    <a href="profil-anzeigenverwaltung.php">
        <i class="fas fa-briefcase"></i>
        Anzeigenverwaltung
    </a>
</li>
<li>
    <a href="profil-anzeige-erstellen.php">
        <i class="fas fa-align-center"></i>
         Anzeige erstellen
    </a>
</li>
<li>
    <a href="profil-refrenzen.php">
        <i class="fas fa-anchor"></i>
         Referenzen
    </a>
</li>


1 commentaires

Voulez-vous supprimer le texte et laisser l'icône? Envisagez-vous de rajouter le texte si l'élément perd la classe "active"? Veuillez être plus précis avec votre question. Vérifiez également si Supprimer le texte du nœud html avec jQuery / Javascript répond à votre question.


3 Réponses :


1
votes

Vous pouvez le faire avec CSS uniquement:

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

<li class="active">
  <a href="profil-anzeigenverwaltung.php">
    <i class="fas fa-briefcase"></i> <span>Anzeigenverwaltung</span>
  </a>
</li>
<li>
  <a href="profil-anzeige-erstellen.php">
    <i class="fas fa-align-center"></i> <span>Anzeige erstellen</span>
  </a>
</li>
<li>
  <a href="profil-refrenzen.php">
    <i class="fas fa-anchor"></i> <span>Referenzen</span>
  </a>
</li>
.active a span {
display: none;
}

J'espère que c'est ce dont vous avez besoin. ;)


0 commentaires

1
votes

La réponse jQuery pour supprimer le texte de la balise souhaitée est la valeur innerHTML de la chaîne vide. Cela peut être accompli de plusieurs manières, mais en voici une:

$('li.active a span').html('');

Comme Anna_B l'a dit, vous pouvez (et dans la plupart des cas devriez probablement) le faire avec CSS. Le CSS peut également être implémenté différemment, mais en restant avec jQuery, vous pouvez basculer entre les classes, une classe ayant le texte visible et l'autre non.

Ce que vous devez considérer avec CSS, c'est que la méthode de masquage des éléments affecte le flux de documents. Discussion à ce sujet sur SO .

par exemple, display:none supprime l'élément du flux, contrairement à visibility:hidden . Ce dernier a des effets involontaires à moins que vous ne soyez conscient et que vous ne souhaitiez ces dynamiques d'écoulement susmentionnées.

Concernant le masquage du texte avec jQuery, voici une discussion et des réponses .


0 commentaires

0
votes

simplement avec js

document.querySelector("li.active a").innerText=''


0 commentaires