21 / 21 / 5
Регистрация: 17.12.2014
Сообщений: 322
|
||||||
1 | ||||||
Выбор информации по селектору01.03.2019, 13:22. Показов 2391. Ответов 21
Метки нет (Все метки)
Есть html
у меня не получается( document.querySelector("div.products_card form.forms div.price_byn div.price:not(.old_price)").textContent;
0
|
01.03.2019, 13:22 | |
Ответы с готовыми решениями:
21
Получение элемента по селектору css. Не находит по селектору data-target Изменить цвет элементов по селектору Назначить событие селектору аттрибутов |
2035 / 1094 / 409
Регистрация: 29.04.2016
Сообщений: 2,625
|
||||||
01.03.2019, 14:04 | 2 | |||||
Amadara,
Можно так
2
|
dev - investigator
2151 / 1496 / 651
Регистрация: 16.04.2016
Сообщений: 3,696
|
||||||
01.03.2019, 14:19 | 3 | |||||
Mr_Sergo, здравствуй
Еще вариант, не создавая копии
2
|
2125 / 1207 / 503
Регистрация: 11.10.2018
Сообщений: 6,088
|
||||||
01.03.2019, 14:34 | 4 | |||||
querySelector тут лучше не использовать, на мой взгляд. Лучше так:
1
|
dev - investigator
2151 / 1496 / 651
Регистрация: 16.04.2016
Сообщений: 3,696
|
|
01.03.2019, 14:36 | 5 |
FFPowerMan, ну если уже подключена либа к проекту - да. А если нет - подключить только ради Вашей фантазии?
2
|
2125 / 1207 / 503
Регистрация: 11.10.2018
Сообщений: 6,088
|
|
01.03.2019, 14:39 | 6 |
А что такого?
1
|
21 / 21 / 5
Регистрация: 17.12.2014
Сообщений: 322
|
||||||
01.03.2019, 14:43 [ТС] | 7 | |||||
нет смысла подключать Jquery,
да и вообще думаю он умер: webpack+react+babel да и выборщик jquery ничем не отличается от QuerySelector /ALL современного JS Добавлено через 1 минуту Странный ответ, половина верная, половина нет)) querySelector не подходит), а вот querySelectorAll подходит ) осталось только придумаю селектор), и проблема не решена)
1
|
dev - investigator
2151 / 1496 / 651
Регистрация: 16.04.2016
Сообщений: 3,696
|
|
01.03.2019, 14:51 | 8 |
Amadara, sorry, неверно перевел доку - поторопился.
1
|
21 / 21 / 5
Регистрация: 17.12.2014
Сообщений: 322
|
||||||
01.03.2019, 14:52 [ТС] | 9 | |||||
почему??
ТОка nodetext не выдаст
Array.from(document.querySelectorAll("div.products_card form.forms div.price_byn div.price>*:not(.old_price)")).map((e)=>console.log(e.textContent)) р. debugger eval code:1:122 49к. debugger eval code:1:122 Array [ undefined, undefined ]
1
|
dev - investigator
2151 / 1496 / 651
Регистрация: 16.04.2016
Сообщений: 3,696
|
|
01.03.2019, 14:56 | 10 |
Amadara, да уже написал выше - прошу прощения
1
|
21 / 21 / 5
Регистрация: 17.12.2014
Сообщений: 322
|
||||||
01.03.2019, 14:59 [ТС] | 11 | |||||
Я начинаю думать что лучше регулярными выражениями распарсить ( результат "2р.49к. 3р.31к. "
0
|
dev - investigator
2151 / 1496 / 651
Регистрация: 16.04.2016
Сообщений: 3,696
|
|
01.03.2019, 15:00 | 12 |
Вот это с понталыку сбило - скрин. Только если перечисление элементов, среди которых будет псевдо-элемент.
1
|
dev - investigator
2151 / 1496 / 651
Регистрация: 16.04.2016
Сообщений: 3,696
|
|
01.03.2019, 15:04 | 13 |
Amadara,
лучше этого не делать. Парсить просто текст регулярками или небольшой участок дерева - это одно. Весь DOM шерстить ими..... фу фу фу так делать. Да и медленно.
Проще переверстать само поддерево. Тогда и обращение к нему будет легким.
0
|
21 / 21 / 5
Регистрация: 17.12.2014
Сообщений: 322
|
||||||
01.03.2019, 15:09 [ТС] | 14 | |||||
тут обратная проблема, я паршу другой сайт при помощи c# AngleSharp, порлучив нужный DIV я могу в c# сделать с ним то тчо захочу)) но мне не хочется клепать отдельный метод ( p.s ПОлучается по тексту что elementList = document.querySelectorAll(selectors); где elementList - статическая коллекция элементов. selectors - строка, содержащая, через запятую, один или более CSS селектор. Возвращаемый NodeList содержит все элементы в пределах документа, которые соответствуют любому из указанных селекторов. Если строка selectors содержит CSS псевдо-элемент, в elementList ничего не вернется. https://developer.mozilla.org/... electorAll но на деле возвращает )
0
|
6494 / 3905 / 2005
Регистрация: 14.06.2018
Сообщений: 6,781
|
||||||
01.03.2019, 15:14 | 15 | |||||
Сообщение было отмечено Amadara как решение
Решение
Всем доброго начала весны!
Если задача выбрать именно текст, а не элементы, то прямой ответ:
Естественное желание разработчика - привести s в более вменяемый вид.
1
|
dev - investigator
2151 / 1496 / 651
Регистрация: 16.04.2016
Сообщений: 3,696
|
||||||||||||||||
01.03.2019, 15:26 | 16 | |||||||||||||||
вот и Вы попались как и я
1
|
21 / 21 / 5
Регистрация: 17.12.2014
Сообщений: 322
|
||||||
01.03.2019, 15:32 [ТС] | 17 | |||||
ахаха да лох я попался) :not это псевдокласс , а не псевдоэлемент)) селектор "div.products_card form.forms div.price_byn div.price>*:not(.old_price)" удаляет .old_price, и выдает почти верный результат, но без текстового узла.
0
|
2035 / 1094 / 409
Регистрация: 29.04.2016
Сообщений: 2,625
|
|
01.03.2019, 15:33 | 18 |
Amadara, вы хотите на выходе получить только текст или элементы?
1
|
21 / 21 / 5
Регистрация: 17.12.2014
Сообщений: 322
|
||||||
01.03.2019, 15:38 [ТС] | 19 | |||||
я получаю на выходе такой результат
Цена без скидки 3р.31к. мне нужно Цена 2.49 Цена без скидки 3.31.
0
|
2035 / 1094 / 409
Регистрация: 29.04.2016
Сообщений: 2,625
|
|
01.03.2019, 15:46 | 20 |
Наверное вы меня не поняли. Вы что планируете делать с полученным результатом дальше? Будете его выводить на страницу как html-разметку или вам нужно тупо текстовое содержимое, например, записать в БД без всяких тегов? или еще что-то сделать...
1
|
01.03.2019, 15:46 | |
01.03.2019, 15:46 | |
Помогаю со студенческими работами здесь
20
Выбор информации из БД по дате Выбор информации в DBGrid Выбор информации из edit Выборка элементов DOM по селектору CSS Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |