Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   если элемент содержит буквы (https://javascript.ru/forum/jquery/74154-esli-ehlement-soderzhit-bukvy.html)

денис77447327 18.06.2018 14:07

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

если document.querySelectorAll('div')[i].innerText="содержит русские буквы" то алерт 1

j0hnik 18.06.2018 14:11

var text = document.querySelectorAll('div')[i].textContent
if(/[а-яё]/i.test(text)) alert(1)

Nexus 18.06.2018 14:11

денис77447327, есть одна проблема:
<div id="div">
	<div>asd</div>
</div>
<script>
alert(div.textContent);
</script>

Dilettante_Pro 18.06.2018 14:23

<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>

j0hnik 18.06.2018 14:28

Dilettante_Pro,
лучше test для этой цели использовать

Dilettante_Pro 18.06.2018 14:38

j0hnik,
Это я для разнообразия

j0hnik 18.06.2018 14:39

Dilettante_Pro,
OK

денис77447327 18.06.2018 16:35

работает спасибо ! но не много ни с того начал я
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
поправьте мой код

Dilettante_Pro 18.06.2018 17:22

Цитата:

Сообщение от денис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>

:(


Часовой пояс GMT +3, время: 09:33.