35 votes

La chaîne jQuery contient des manipulations?

Dans la plupart des langages comme C #, par exemple, dans le cas d'une chaîne, vous pouvez tester (booléen) si cette chaîne contient une autre chaîne, un sous-ensemble de cette chaîne.

 string x = test2;


if(x.contains("test"))
    // do something
 

Comment puis-je faire cela simplement avec Javascript / Jquery?

22voto

eKek0 Points 9861

Comme Paolo et Cletus l'ont dit, vous pouvez le faire en utilisant indexOf ().

Il convient de mentionner que c’est une fonction javascript, pas une fonction jQuery.

Si vous voulez qu'une fonction jQuery fasse cela, vous pouvez l'utiliser:

 jQuery.fn.contains = function(txt) { return jQuery(this).indexOf(txt) >= 0; }
 

13voto

cletus Points 276888

L'opérateur indexOf fonctionne pour des chaînes simples. Si vous avez besoin de quelque chose de plus compliqué, sachez que Javascript prend en charge les expressions régulières .

4voto

Plippie Points 1238

Un simple contient peut également être utile par exemple:

 <div class="test">Handyman</div>


$(".test:contains('Handyman')").html("A Bussy man");
 

3voto

David Thomas Points 315

Un exemple de travail, utilisant seulement indexOf et jQuery

 // Add span tag, if not set
$(document).ready(function(c) {
  $('div#content ul.tabs li a').each(function(c){
    // Add span wrapper if not there already
    if( $(this).html().indexOf('span') == -1){
      $(this).html('<span class="tab">' + $(this).html() + '</span>');
    }
  });
});
 

DT

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X