web-dev-qa-db-fra.com

la chaîne jQuery contient de la manipulation?

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? 

35
aherrick

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; }
22
eKek0

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 .

13
cletus

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

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


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

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

3
David Thomas

Essayez d'implémenter ceci

function function1() {
    var m = document.all.myDiv.contains(myB);
    if (m == true){ 
        m = "YES"
    } else {
        m = "NO"
    }
    alert(m)
}
0
Nikhil Dinesh