0
votes

JQuery Substr n'affecte pas l'élément sélectionné

Donc, j'ai un élément de plage multi-lignes que j'ai besoin de ellipser si sa longueur est supérieure à un certain nombre de caractères,

J'utilise JQuery pour le faire, P>

<div class="myClass">
  <span>a long long text</span>
</div> 

var text = $(".myClass span").text();
if(text.length > 45){
  text.substr(0, 45) + "...";
  console.log("hellooooo");
}


0 commentaires

3 Réponses :


2
votes

Vous modifiez une copie du texte, pas la valeur de l'élément sur le site Web lui-même.

Vous pouvez essayer quelque chose comme: xxx


0 commentaires

0
votes

Vous devez réaliser, que $ (". Quelque chose"). Texte () Il suffit de copie du texte qui correspond à l'élément et la modification ne change pas le texte d'origine.

aussi text.substr crée une nouvelle chaîne plutôt que de modifier ce qui est déjà dans la variable .

Vous devez le mettre à jour manuellement avec < Pré> xxx


1 commentaires

Yup, j'ai totalement manqué à ce sujet. Merci ;))



1
votes

Appliquer à l'aide de texte () code> fonction.

$ (". MyClass Span"). Texte (texte.substr (0, 45) + "..."); p>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="myClass">
  <span>a long long  long  long  long  long  long  long  long  long  long  long  long  long  long  long  long  long  long  long  long text</span>
</div>


2 commentaires

Il serait préférable de remercier de bonnes réponses avec un vote initial et la meilleure réponse en le marquant comme accepté.


J'aurais aimé, cependant, des votes toujours pas une possibilité pour moi .. merci encore monsieur :))