JQuery: Проверка, чтобы видеть, содержит ли отделение текст, то действие

Если вы хотите перейти к корневому контроллеру просмотра (стр. 1), просто используйте:

    [self.navigationController popToRootViewControllerAnimated:YES];

Также первым элементом в индексе является не элемент 1, а элемент 0:

[self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:0] animated:YES];

Это должно вернуть вас к первому viewController, но им будет проще использовать метод popToRootViewController.

47
задан Smi 1 August 2013 в 10:24
поделиться

4 ответа

Ваш код содержит две проблемы:

  • Оператор равенства в JavaScript - == , а не = .
  • jQuery.text ( ) объединяет все текстовые узлы совпадающих элементов в одну строку. Если у вас есть два последовательных элемента, из которых первый содержит 'some' , а второй содержит 'Text' , тогда ваш код будет неправильно думать, что существует элемент, содержащий ] 'someText' .

Вместо этого я предлагаю следующее:

if ($('#field > div.field-item:contains("someText")').length > 0) {
    $("#somediv").addClass("thisClass");
}
90
ответ дан 26 November 2019 в 19:24
поделиться

Айман прав, но вы можете использовать это и так:

if( $("#field > div.field-item").text().indexOf('someText') >= 0) {
        $("#somediv").addClass("thisClass");
    }
4
ответ дан 26 November 2019 в 19:24
поделиться
if( $("#field > div.field-item").text().indexOf('someText') >= 0)

В некоторых браузерах пробелы будут, в других - нет. > = здесь уместно. В противном случае равенство double равно ==

4
ответ дан 26 November 2019 в 19:24
поделиться

Вы можете попробовать селектор содержит :

if ($("#field > div.field-item:contains('someText')").length) {
    $("#somediv").addClass("thisClass");
}

Кроме того, как уже упоминалось, вы должны использовать == или === вместо =.

1
ответ дан 26 November 2019 в 19:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: