2010-10-25 22 views
2

J'essaie d'utiliser le sélecteur jquery: contains (ou .contains()) dans une fonction, mais je n'arrive pas à le faire fonctionner.utilisant jquery contient à l'intérieur d'une fonction?

Fondamentalement, je passe une chaîne à une fonction et je veux vérifier la variable si elle contient X, faire quelque chose d'autre faire quelque chose d'autre. Si ça a du sens.

Voici mon code.

function checkMe(myVar) { 
    if ($(myVar).contains("foo")) { 
    //do something 
    } else { 
    //do something else 
    } 
} 

et mon appel à la fonction:

checkMe("/foo/bar"); 

Mais cela ne fonctionne pas. Toute aide serait appréciée! :)

+0

Merci à tous pour votre aide – SoulieBaby

Répondre

3

jQuery contient des vérifications de fonction si un nœud dom contient un autre nœud dom. Ce que vous voulez faire est juste de vérifier si une chaîne est contenue dans un autre. Vous pourriez faire une recherche simple regex pour cela.

Essayez ceci:

if (myVar.match("foo")) { 
1

avez-vous utiliser jquery? Qu'en est-il de quelque chose comme ça?

function checkMe(myVar) { 
    if (myVar.indexOf("foo") > -1) { 
    //do something 
    } else { 
    //do something else 
    } 
} 
} 
+1

Pourquoi appeler toString sur un objet qui est déjà une chaîne? –

+1

vous avez absolument raison (je vais modifier) – bluevoodoo1

1

contient des vérifications si un élément DOM en contient un autre.

Pour ce que vous voulez, vous n'avez pas besoin du tout jQuery:

function checkMe(myVar) { 
    if (myVar.indexOf("foo") >= 0) { 
    //do something 
    } else { 
    //do something else 
    } 
} 

indexOf retourne -1 si « foo » ne se trouve pas dans la chaîne passée; sinon, il retourne l'index dans la chaîne où "foo" a été trouvé.