Использование JQuery содержит внутри функции? - PullRequest
2 голосов
/ 25 октября 2010

Я пытаюсь использовать селектор jquery: contains (или .contains ()) внутри функции, однако я не могу заставить его работать.

Обычно я передаю строку в функцию и хочу проверить переменную, если она содержит X, сделать что-то еще, сделать что-то еще. Если это имеет смысл.

Вот мой код.

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

и мой вызов функции:

checkMe("/foo/bar");

Но это не работает. Любая помощь будет оценена! :)

Ответы [ 4 ]

3 голосов
/ 25 октября 2010

JQuery содержит функцию проверки, содержит ли dom-узел другой dom-узел. То, что вы хотите сделать, это просто проверить, содержится ли строка в другой. Вы можете сделать простой поиск по регулярному выражению для этого.

Попробуйте вместо этого:

if (myVar.match("foo")) {
1 голос
/ 25 октября 2010

содержит проверки, если один элемент DOM содержит другой.

Для того, что вы хотите, вам вообще не нужен jQuery:

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

indexOf вернет -1, если "foo"не найден в переданной строке;в противном случае он возвращает индекс в строке, где было найдено «foo».

1 голос
/ 25 октября 2010

привет, просто проверьте jquery api http://api.jquery.com/jQuery.contains/, jquery.contains применяется к элементу DOM.если вы хотите сделать строку содержит, попробуйте:

/foo/i.test("foo/bar");
1 голос
/ 25 октября 2010

вы должны использовать JQuery?как насчет этого?

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