trusty 0 Posted August 14, 2020 Report Share Posted August 14, 2020 Всем привет! Извлекаю с помощью javascript текст из тега, а он не извлекается. Почему? Вот исходник: <span class="value" title="nazvanie">1111111111111₽</span> Пытаюсь этим кодом извлечь, а ничего не выходит в алерте: var span = document.getElementsByClassName("value"); for (var i = 0; i < span.length; i++) alert(span.innerHTML); Quote Link to post Share on other sites
Administrators DevilStar 1166 Posted August 14, 2020 Administrators Report Share Posted August 14, 2020 let span = document.getElementsByClassName("value"); Array.from(span).forEach((el) => { console.log(el.innerHTML); }); ToneR 1 Quote Link to post Share on other sites
kuzovbmw 585 Posted August 14, 2020 Report Share Posted August 14, 2020 Забудьте про js ванильный, пишите на jquery хоть он уже устаревает но это удобно var abc = $('.value').html(); alert(abc); зачем вы делаете разбор ? Если у вас несколько элементов с одинаковым классом то используйте метод this var abc = $(this).closest('.родитель').find('.value').html(); alert(abc); тогда в алерт попадет именно тот по которому было событие Quote Link to post Share on other sites
Administrators DevilStar 1166 Posted August 14, 2020 Administrators Report Share Posted August 14, 2020 12 минуты назад, kuzovbmw сказал: Забудьте про js ванильный, пишите на jquery Большей глупости в 2020 году и не встретить Quote Link to post Share on other sites
kuzovbmw 585 Posted August 14, 2020 Report Share Posted August 14, 2020 А смысл писать на голом js, в чем глупость, 80% js это сейчас jquery смысл писать на чистом js? да он исполняется на стороне клиента, но скорость написания кода в разы меньше. Удобство и простота конструкции. уже года 4 не видел чистого js нигде в каком проект не заходил бы. более того скоро нативный заберет все serzh78 1 Quote Link to post Share on other sites
Administrators DevilStar 1166 Posted August 14, 2020 Administrators Report Share Posted August 14, 2020 Чем 'чистый'js от 'нативного' отличается? 17 минут назад, kuzovbmw сказал: скорость написания кода в разы меньше Ознакомься на досуге - http://youmightnotneedjquery.com/ К слову, в моём мире почему-то чисто js - 99%. И где-то 1% - jquery Quote Link to post Share on other sites
kuzovbmw 585 Posted August 14, 2020 Report Share Posted August 14, 2020 смысл, это уже видел 100 раз. jquery как был самым популярным фреймворком js так им на ближайшие лет 5 останется и на 5 прошлые. написание кода короче, быстрее, особенно удобно когда много ajax запросов вложенных + когда много анимации на странице Это называется экономия на спичках, типа тормозит и тп, jquery как был короче так им и стал, да не спорю, базу js надо знать, т.к. частично синтаксис jquery схож. но все равно работать с jquery быстрее Кто то недавно орал что flexbox это полный г и тп, это был человек кто привык к табличной и верстке на флотах, кто то орет что бутстрап плохой, зато проекты на нем делают в 3 раза быстрее и более отзывчивые если им уметь хорошо управлять, а в 5 версии так вообще все чикаго... Кто то говорит что чистый php это круто я так же скажу, т.к. привык к паттерну mvc и чистому коду, а по факту а понимаю что тот же Zend в разы лучше, начиная от роутинга, заканчивая безопасностью данных, несмотря что я везде использую pdo кто на чем привык тот на том и пишет. вопрос реальной оптимизации скорости работы. Вы же Эммит используете наверное, я его везде использую, ну а кто то говорит мне проще руками блок написать а я за li*5 делаю 5 лишек) а кто то руками сидит пишет <li></li> кому скорость. кому писать как удобно, я за скорость и удобство поддержки с минимум кода Quote Link to post Share on other sites
Administrators DevilStar 1166 Posted August 14, 2020 Administrators Report Share Posted August 14, 2020 5 минут назад, kuzovbmw сказал: смысл, это уже видел 100 раз. jquery как был самым популярным фреймворком js так им на ближайшие лет 5 останется и на 5 прошлые. пора выйти из бункера - https://trends.google.com/trends/explore?q=jquery,js,javascript Quote Link to post Share on other sites
trusty 0 Posted August 14, 2020 Author Report Share Posted August 14, 2020 6 hours ago, DevilStar said: let span = document.getElementsByClassName("value"); Array.from(span).forEach((el) => { console.log(el.innerHTML); }); это не вытащило текст со страницы =( Quote Link to post Share on other sites
trusty 0 Posted August 14, 2020 Author Report Share Posted August 14, 2020 ничего себе какие разговоры в теме, не ожидал! Quote Link to post Share on other sites
trusty 0 Posted August 14, 2020 Author Report Share Posted August 14, 2020 4 hours ago, kuzovbmw said: Забудьте про js ванильный, пишите на jquery хоть он уже устаревает но это удобно var abc = $('.value').html(); alert(abc); зачем вы делаете разбор ? Если у вас несколько элементов с одинаковым классом то используйте метод this var abc = $(this).closest('.родитель').find('.value').html(); alert(abc); тогда в алерт попадет именно тот по которому было событие Прошу объяснить мне как подключить jquery к веб-странице, которая открыта в браузере и выполнять этот код с помощью ввода в адресной строке браузера. Я всегда в javascript так работал, а это не знаю как делать.... Ввел в адресной строке браузера первый код и получил в алерте undefined Quote Link to post Share on other sites
trusty 0 Posted August 14, 2020 Author Report Share Posted August 14, 2020 kuzovbmw, Прошу объяснить мне как подключить jquery к веб-странице, которая открыта в браузере и выполнять этот код с помощью ввода в адресной строке браузера. Я всегда в javascript так работал, а это не знаю как делать.... Ввел в адресной строке браузера первый код и получил в алерте undefined Quote Link to post Share on other sites
trusty 0 Posted August 14, 2020 Author Report Share Posted August 14, 2020 вот весь кусок кода. надо получить значение text из тега span (над header__info-price) и никакой из вариантов не помог пока... Quote Link to post Share on other sites
trusty 0 Posted August 14, 2020 Author Report Share Posted August 14, 2020 похоже этот код во фрейме и наверное из-за этого первый код не сработал? Quote Link to post Share on other sites
trusty 0 Posted August 14, 2020 Author Report Share Posted August 14, 2020 Quote Link to post Share on other sites
Administrators DevilStar 1166 Posted August 14, 2020 Administrators Report Share Posted August 14, 2020 3 минуты назад, trusty сказал: похоже этот код во фрейме и наверное из-за этого первый код не сработал? если нужно вытащить текст из iframe, то указанный мной код не сработает. Да и любой другой, думаю, тоже. Quote Link to post Share on other sites
trusty 0 Posted August 14, 2020 Author Report Share Posted August 14, 2020 Just now, DevilStar said: если нужно вытащить текст из iframe, то указанный мной код не сработает. Да и любой другой, думаю, тоже. ну как же так неужели нет никакого способа извлечь текст. не может быть Quote Link to post Share on other sites
trusty 0 Posted August 14, 2020 Author Report Share Posted August 14, 2020 можно к фрему обращаться через js . также как и к дереву элементов на странице Quote Link to post Share on other sites
Administrators DevilStar 1166 Posted August 14, 2020 Administrators Report Share Posted August 14, 2020 https://www.w3schools.com/howto/howto_js_element_iframe.asp что-то типа такого городить. Уже вечер, мне лень проверять. Браузеры в последнее время сильно парятся из-за безопасности. Quote Link to post Share on other sites
kuzovbmw 585 Posted August 15, 2020 Report Share Posted August 15, 2020 Послушайте у вас должно быть событие чтобы вытащить текст из блока это может быть событие полной загрузки дом дерева, событие клика, действия мыши или кей ап вот вам пример https://jsfiddle.net/9xa82dup/ т.е. при клике на класс value срабатывает функция, которая вызывает alert вот и все если вам необходимо чтобы чтобы это было при загрузке страницы, то тут нужно вызвать событие полной загрузки $( document ).ready(function() { console.log( "я существую братан!" ); }); Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.