Строка jQuery содержит манипуляцию? - PullRequest
35 голосов
/ 29 апреля 2009

В большинстве языков, таких как C #, например, для заданной строки вы можете проверить (логическое), содержит ли эта строка другую строку, в основном подмножество этой строки.

string x = test2;


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

Как я могу сделать это простым способом с Javascript / Jquery?

Ответы [ 6 ]

64 голосов
/ 29 апреля 2009

Это делается с indexOf , однако, если не найдено, возвращается -1 вместо False.

Синтаксис
string.indexOf(searchValue[, fromIndex])

Параметры
searchValue - Строка, представляющая значение для поиска.
fromIndex - Расположение в string, с которого начинается поиск. Это может быть любое целое число от 0 до длины string. Значение по умолчанию - 0.

Возврат
Первый индекс в string, в котором можно найти начало подстроки, или -1, если string не содержит экземпляров подстроки.

22 голосов
/ 29 апреля 2009

Как сказали Паоло и Клетус, вы можете сделать это с помощью indexOf ().

Можно упомянуть, что это функция javascript, а не jQuery.

Если вы хотите, чтобы функция jQuery делала это, вы можете использовать ее:

jQuery.fn.contains = function(txt) { return jQuery(this).indexOf(txt) >= 0; }
13 голосов
/ 29 апреля 2009

Оператор indexOf работает для простых строк. Если вам нужно что-то более сложное, стоит отметить, что Javascript поддерживает регулярные выражения .

4 голосов
/ 18 мая 2010

Простое содержимое также может быть полезно, например:

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


$(".test:contains('Handyman')").html("A Bussy man");
3 голосов
/ 21 января 2011

Рабочий пример, использующий только indexOf и 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

0 голосов
/ 01 июня 2011

Попробуйте реализовать это

function function1() {
    var m = document.all.myDiv.contains(myB);
    if (m == true){ 
        m = "YES"
    } else {
        m = "NO"
    }
    alert(m)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...