Как получить текстовое значение по диапазону с помощью javascript

#javascript #jquery #ajax #typescript

#javascript #jquery #ajax #typescript

Вопрос:

Я хочу получить текстовое значение "user detail - 205 users" по диапазону, но я не могу изменить код, добавив идентификатор или класс, могу ли я использовать javascript для этого?

 <span style="color: rgb(0, 189, 12);">"user detail - 205 users"</span>
 

Комментарии:

1. это диапазон внутри div, у которого есть класс или идентификатор… вам нужно как-то перенести его в js … что означает, что вам нужен доступ к dom… что означает класс или идентификатор … так что посмотрите выше в дереве html для этого. и вам придется отфильтровывать дочерние элементы элемента span — и вам может потребоваться выполнить некоторую причудливую фильтрацию, если это сложная структура.

Ответ №1:

Предполагая, что текст «сведения о пользователе» всегда существует, вы можете найти диапазон, который включает этот текст, и получить полный текст после его нахождения

 const spans = [...document.querySelectorAll('span')],
      wantedSpan = spans.find(el => el.textContent.includes('user detail')),
      wantedText = wantedSpan ? wantedSpan.textContent : 'Not Found';

console.log('wantedText:', wantedText) 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<span style="color: rgb(0, 189, 12);">"user detail - 205 users"</span>