Я добавляю класс к абзацам в регулярном выражении:

$("p").each(function(i, elem) { typeof elem === "number" ? ($("p").addClass("number")) : ($("p").addClass("other")) }) 
 .number { color: blue; } .other { color: green; } 
 {amp}lt;script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"{amp}gt;{amp}lt;/script{amp}gt; {amp}lt;p{amp}gt;abc{amp}lt;/p{amp}gt; {amp}lt;p{amp}gt;123{amp}lt;/p{amp}gt; {amp}lt;p{amp}gt;dynia{amp}lt;/p{amp}gt; {amp}lt;p{amp}gt;semolina{amp}lt;/p{amp}gt; {amp}lt;p{amp}gt;ogór{amp}lt;/p{amp}gt; {amp}lt;p{amp}gt;234{amp}lt;/p{amp}gt; {amp}lt;p{amp}gt;2345{amp}lt;/p{amp}gt; 

Но все элементы зеленые (как не числа). Если я вместо добавления типа класса console.log (True / False) получаю правильные результаты.

Беата

новый участник этого сайта. Будьте внимательны, спрашивая разъяснения, комментируя и отвечая. Проверьте наш

Правила поведения

,

Тип элемента всегда object . Вам нужно текстовое содержимое elem , которое вы можете получить, используя метод .text() jQuery. Однако текстовое содержимое является строкой, и вы можете использовать isNaN() чтобы проверить, может ли оно быть преобразовано в число:

 $("p").each(function(i, elem) { var $el = $(elem); $el.addClass(isNaN($el.text()) ? 'other' : 'number'); }) 
 .number { color: blue; } .other { color: green; } 
 {amp}lt;script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"{amp}gt;{amp}lt;/script{amp}gt; {amp}lt;p{amp}gt;abc{amp}lt;/p{amp}gt; {amp}lt;p{amp}gt;123{amp}lt;/p{amp}gt; {amp}lt;p{amp}gt;dynia{amp}lt;/p{amp}gt; {amp}lt;p{amp}gt;semolina{amp}lt;/p{amp}gt; {amp}lt;p{amp}gt;ogór{amp}lt;/p{amp}gt; {amp}lt;p{amp}gt;234{amp}lt;/p{amp}gt; {amp}lt;p{amp}gt;2345{amp}lt;/p{amp}gt; 

С помощью jQuery:

 $(function() { $("p").each(function() { $(this).addClass(isNaN($(this).text()) ? "number" : "other") }) }) 
 .number {color: blue} .other {color: green} 
 {amp}lt;script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"{amp}gt;{amp}lt;/script{amp}gt; {amp}lt;p{amp}gt;abc{amp}lt;/p{amp}gt; {amp}lt;p{amp}gt;123{amp}lt;/p{amp}gt; {amp}lt;p{amp}gt;dynia{amp}lt;/p{amp}gt; {amp}lt;p{amp}gt;semolina{amp}lt;/p{amp}gt; {amp}lt;p{amp}gt;ogór{amp}lt;/p{amp}gt; {amp}lt;p{amp}gt;234{amp}lt;/p{amp}gt; {amp}lt;p{amp}gt;2345{amp}lt;/p{amp}gt; 

С обычным Javascript:

 document.querySelectorAll("p").forEach((el) ={amp}gt; { el.classList  = isNaN(el.textContent) ? "other" : "number" }) 
 .number {color: blue} .other {color: green} 
 {amp}lt;p{amp}gt;abc{amp}lt;/p{amp}gt; {amp}lt;p{amp}gt;123{amp}lt;/p{amp}gt; {amp}lt;p{amp}gt;dynia{amp}lt;/p{amp}gt; {amp}lt;p{amp}gt;semolina{amp}lt;/p{amp}gt; {amp}lt;p{amp}gt;ogór{amp}lt;/p{amp}gt; {amp}lt;p{amp}gt;234{amp}lt;/p{amp}gt; {amp}lt;p{amp}gt;2345{amp}lt;/p{amp}gt;