Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.06.2018, 14:07
Профессор
Отправить личное сообщение для денис77447327 Посмотреть профиль Найти все сообщения от денис77447327
 
Регистрация: 03.09.2017
Сообщений: 172

если элемент содержит буквы
на странице много дивов
document.querySelectorAll('div')

если document.querySelectorAll('div')[i].innerText="содержит русские буквы" то алерт 1
Ответить с цитированием
  #2 (permalink)  
Старый 18.06.2018, 14:11
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

var text = document.querySelectorAll('div')[i].textContent
if(/[а-яё]/i.test(text)) alert(1)
Ответить с цитированием
  #3 (permalink)  
Старый 18.06.2018, 14:11
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,723

денис77447327, есть одна проблема:
<div id="div">
	<div>asd</div>
</div>
<script>
alert(div.textContent);
</script>
Ответить с цитированием
  #4 (permalink)  
Старый 18.06.2018, 14:23
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

<div>no russian letters</div>
<div>содержит русские буквы</div>
<div>no russian letters</div>
<div>russian letters есть</div>
<script>
  [].forEach.call(document.querySelectorAll('div'), function(el, i) {
      if(el.textContent.match(/[а-яА-ЯёЁ]/)) alert(i + " содержит русские буквы");
   });
</script>
Ответить с цитированием
  #5 (permalink)  
Старый 18.06.2018, 14:28
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Dilettante_Pro,
лучше test для этой цели использовать
Ответить с цитированием
  #6 (permalink)  
Старый 18.06.2018, 14:38
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

j0hnik,
Это я для разнообразия
Ответить с цитированием
  #7 (permalink)  
Старый 18.06.2018, 14:39
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Dilettante_Pro,
OK
Ответить с цитированием
  #8 (permalink)  
Старый 18.06.2018, 16:35
Профессор
Отправить личное сообщение для денис77447327 Посмотреть профиль Найти все сообщения от денис77447327
 
Регистрация: 03.09.2017
Сообщений: 172

работает спасибо ! но не много ни с того начал я
var text = document.querySelectorAll('div')
var arr =['0','1']
for (var i = 0; i < text.length; i++) {
if (((text[text.length - 1].className).indexOf("message__bubble") >-1)&&text[i].textContent !=arr.length) alert(1)}

цикл перебирает дивы находит див с классом "message__bubble" если текстконтент класса не равен хотябы одному элементу массива и класс message__bubble является последним по индексу то алерт 1
поправьте мой код
Ответить с цитированием
  #9 (permalink)  
Старый 18.06.2018, 17:22
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Сообщение от денис77447327
если текстконтент класса не равен хотябы одному элементу массива и класс message__bubble является последним по индексу то алерт 1
Ничего не понял...

Последний не из массива ['0','1']
<div class="message__bubble">0</div>
<div>1</div>
<div class="message__bubble">2</div>
<div class="message__bubble">3</div>
<script>
   var divColl = document.querySelectorAll('div'), reg = /^0$|^1$/;
   var divTest = divColl[divColl.length - 1];
   if ((divTest.className).indexOf("message__bubble") >-1) {
      if(!reg.test(divTest.textContent)) alert(1); }
</script>


Последний из массива ['0','1']
<div class="message__bubble">0</div>
<div>1</div>
<div class="message__bubble">2</div>
<div class="message__bubble">1</div>
<script>
   var divColl = document.querySelectorAll('div'), reg = /^0$|^1$/;
   var divTest = divColl[divColl.length - 1];
   if ((divTest.className).indexOf("message__bubble") >-1) {
      if(!reg.test(divTest.textContent)) alert(1); }
</script>

Последний не message__bubble и не из массива
<div class="message__bubble">0</div>
<div>1</div>
<div class="message__bubble">2</div>
<div>3</div>
<script>
   var divColl = document.querySelectorAll('div'), reg = /^0$|^1$/;
   var divTest = divColl[divColl.length - 1];
   if ((divTest.className).indexOf("message__bubble") >-1) {
      if(!reg.test(divTest.textContent)) alert(1); }
</script>


Последний раз редактировалось Dilettante_Pro, 18.06.2018 в 17:51.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Если чебокс активен, то функцию выполнять. Если не активен, не выполнять. Doc_Emmett Brown Opera, Safari и др. 2 17.09.2017 15:50
Как заполнить textarea только если он пустой? Oleg0 jQuery 5 10.02.2017 09:45
Jquery validation если заполнено одно из полей Nikita21 jQuery 6 13.10.2016 13:37
Как должно выглядеть условие, если перед ним расположена функция? raindew jQuery 2 17.09.2016 15:54
Кодировка при использовании Ajax Nichloas AJAX и COMET 9 17.09.2009 16:06