JQuery: проверка, чтобы увидеть, содержит ли div текст, затем действие

Я пытаюсь проверить jQuery, если div содержит некоторый текст, а затем добавляет class, если это так.

Поэтому я написал что-то вроде этого:

if( $("#field > div.field-item").text().indexOf('someText') = 0) { $("#somediv").addClass("thisClass"); } 

Я не заставляю это работать.

 
someText

Это неверно?

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

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

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

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

Да, теперь я подумал обо мне. И он отлично работает !!!

 if($("div:contains('CONGRATULATIONS')").length) { $('#SignupForm').hide(500); } 

ИТ работает нормально

 if( $("#field > div.field-item").text().indexOf('someText') >= 0) 

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

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

 if( $("#field > div.field-item").text().indexOf('someText') >= 0) { $("#somediv").addClass("thisClass"); } 

Почему бы просто не

 var item = $('.field-item'); for (var i = 0; i <= item.length; i++) { if ($(item[i]).text() == 'someText') { $(item[i]).addClass('thisClass'); //do some other stuff here } } 

Возможно, вы захотите попробовать селектор contains :

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

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

  • Слайд справа налево?
  • Проверка формата адреса электронной почты с помощью Jquery.validate.js
  • jQuery вычисляет сумму значений во всех текстовых полях
  • Создание шаблона / стойкого шаблона заголовка / нижнего колонтитула в jQuery Mobile и PhoneGap
  • Кнопка отключения jQuery (НЕ ПОДКЛЮЧИТЬ), пока поле не проверит + плагин Validation
  • Установить проверку classа для динамического текстового поля в таблице
  • Эффективное обнаружение при перекрытии элементов Sibling Elements
  • jQuery - включение / выключение флажка
  • jquery draggable: как ограничить область перетаскивания?
  • Предоставление частичных представлений с использованием ajax
  • jQuery - форма подачи резюме после вызова ajax
  • Interesting Posts

    Есть ли способ автоматически обновлять приложение на Android?

    Почему дополнительная константа автоматически не имеет значения по умолчанию nil

    Лучшее бесплатное программное обеспечение для пакетного преобразования jpg в png

    Есть ли способ подделать двойной (второй) монитор

    Почему включение аппаратного ускорения в CSS3 замедляет производительность?

    В чем причина жесткого диска, который страдает от щелчка?

    Подавление выхода

    Переместить макеты, когда отображается мягкая клавиатура?

    C / C ++ макрос / шаблон blackmagic для генерации уникального имени

    Как перемещаться по IEnumerable пакетами

    Увеличивает ли поле в атоме MySQL?

    При каких условиях блок-регулируемый блок питания повредит современный компьютер?

    Можно ли определить, какая версия Windows XP поставляется с лицензионным ключом?

    Аннотация @Transactional. Как откат?

    Единичное тестирование с одноточечными

    Давайте будем гением компьютера.