Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Количество символов в теге (https://javascript.ru/forum/events/80060-kolichestvo-simvolov-v-tege.html)

Alexandraa 22.04.2020 16:51

Количество символов в теге
 
Дано 15 тегов «p». Используя цикл for вывести содержимое тегов, которые содержат строки длиной более 10 символов

Nexus 22.04.2020 17:01

[].filter.call(document.querySelectorAll('p'), tag => tag.innerHTML.length > 10).map(tag => tag.innerHTML);

В следующий раз пишите в разделе «Работа»

рони 22.04.2020 17:14

Nexus,
может по строкам и фильтровать или хотя бы по textContent?

Nexus 22.04.2020 19:20

рони, я думаю этот вопрос нужно топик стартеру задать.
Я как понял задачу, такое решение и написал :)

MC-XOBAHCK 22.04.2020 20:12

Цитата:

Сообщение от Alexandraa (Сообщение 523204)
Дано 15 тегов «p». Используя цикл for вывести содержимое тегов, которые содержат строки длиной более 10 символов

let tagsP = document.querySelectorAll('p');

for(let i = 0; i < tagsP.length; i++) {
    if (tagsP[i].textContent.length > 10) {
        alert(tagsP[i].textContent);
    }
}


Вывел алертом. Можно заменить alert на console.log

Nexus 22.04.2020 23:54

Цитата:

Сообщение от «отзыв в личке»
Люблю я память забивать пустыми массивами... Почему нельзя цикл for использовать? Одобряю твой выхлоп, не одобряю подход!

Задачка явно академическая, никакого смысла в оптимизации здесь нет.
А если и оптимизировать, то не кол-во потребляемой памяти, а кол-во проходов по коллекции элементов.
С мусором, я думаю, без проблем справится garbage collector, тем самым высвободим занятую им (мусором) память.

рони 23.04.2020 00:15

фильтр по длине строк
 
:write: :)
<!DOCTYPE html>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  p{
      margin: 0;
      font-size: .6em;
  }
  output{
      color: #FF1493;
  }

  </style>

</head>
<body>
<p>001</p>
<p>002</p>
<p>003</p>
<p>004</p>
<p>0050000000000</p>
<p>006</p>
<p>007</p>
<p>008</p>
<p>009</p>
<p>0100000000000</p>
<p>011</p>
<p>012</p>
<p>013<span></span>
<span></span>
<span></span>
<span></span>
<span></span></p>
<p>014</p>
<p>015</p>
<output id="output"></output>
 <script>

for (const {textContent : {length}, textContent} of document.querySelectorAll('p'))
length <= 10 || output.append(`"${textContent}" `);

  </script>
</body>
</html>


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