0
votes

Comprend la fonction ne reconnaît pas la sous-chaîne dans la variable de texte

J'essaie d'ajouter un attribut "title" aux éléments HTML TD en fonction de leur texte.

J'ai écrit ce qui suit: p> xxx pré>

je peux voir dans Mes tests que la variable de texte reçoit le texte correct: p> xxx pré>

Le texte est en hébreu, mais vous pouvez clairement voir que le texte que je recherche est effectivement une partie de la texte variable. Pourtant, il revient à la valeur par défaut, ne reconnaissant pas que le texte inclut ce segment. P>

J'ai également essayé sans le == TURE dans le code: P>

case (text.includes("מרכזית-מדף פתוח")):


2 commentaires

On dirait que vous voudriez avoir un si {} else {} au lieu de commutateur . Vous basculez sur la base de la chaîne de texte, et le premier cas, alors qu'il évalue en true, il est alors dit que la chaîne texte correspond au Boolean true , qu'il ne fait pas 't donc échoue. Vous voulez quelque chose comme si (texte.include ("מרכזית-מףףףףףפוח")) {Heures = "19:00 - 08:00 ..."; } else {Heures = "Texte"; }


L'avez-vous essayé avec une seule déclaration si d'autre, plutôt que la déclaration de commutateur de cas?


3 Réponses :


1
votes

C'est votre utilisation de Â'SwitchÂ' et Â'Case''Case ', ce n'est pas bon.

Vous pouvez simplement écrire: xxx


0 commentaires

1
votes

Utilisez un si code> instruction au lieu d'un étui de commutation comme @ mark.hch suggéré.

En ce qui concerne le buggy inclut, le problème ne peut pas être reproduit avec le code que vous avez fourni: p >

p>

const haystack = 'Cen.lib-Stacks - מרכזית-מדף פתוח -#Four weeks - ארבעה שבועות#';
const needle = 'מרכזית-מדף פתוח';
console.log(haystack.includes(needle));


2 commentaires

Merci. J'essayais d'éviter si d'autres déclarations, car il s'agit simplement d'un test de test et que le code réel comprendra beaucoup de cas, mais il semble qu'il n'y ait aucun choix.


Les déclarations si d'autre fonctionnent. Je suppose qu'il n'y a pas de solutions faciles. Merci



1
votes

Le meilleur moyen de gérer ce type de recherche est regexp avec le drapeau Unicode: u code>:

<table>
<tr><td>Cen.lib-Stacks - מרכזית-מדף פתוח -#Four weeks - 
ארבעה שבועות#</td><td></td><td></td></tr>
<tr><td>TEST</td><td></td><td></td></tr>
<tr><td>TEST</td><td></td><td></td></tr>
<tr><td>TEST</td><td></td><td></td></tr>
<tr><td>Cen.lib-Stacks - מרכזית-מדף פתוח -#Four weeks - 
ארבעה שבועות#</td><td></td><td></td></tr>
<tr><td>TEST</td><td></td><td></td></tr>
<tr><td>TEST</td><td></td><td></td></tr>
<tr><td>TEST</td><td></td><td></td></tr>
<tr><td>Cen.lib-Stacks - מרכזית-מדף פתוח -#Four weeks - 
ארבעה שבועות#</td><td></td><td></td></tr>
<tr><td>TEST</td><td></td><td></td></tr>
</table>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  • Lorsque vous utilisez .Chafe () code> méthode et référençant l'élément actuel, utilisez $ (this) code> p> p> XXX PRE> LI>

  • méthodes telles que .Inclut () code> et .test () code> (la méthode Regexp in démo) renvoie code> vrai code> ou faux code>. La syntaxe moins verbeuse quand dans une condition est la suivante: p>

    table {
      table-layout: fixed;
      width: 80vw;
      height: 80vh;
      margin: 5vh auto
    }
    
    td {
      width: 33%;
    }
    
    table, td {
      border: 1px solid #000
    }
    
    td::before {
      content: ' ';
      min-height:20px;
    }


0 commentaires