Замена слов в div'e
Добрый день форумчане!
Я знаю что данный тем уже очень много, за что и прошу прощение, но все же. Есть div в котором указанны даты на английском, например <div class="date-style"> June 9, 2017 (Friday)<br> <time datetime="18:00 до 19:20">18:00 до 19:20</time> </div>нужно что бы на выходе получилось <div class="date-style"> Июнь 9, 2017 (Пятница)<br> <time datetime="18:00 до 19:20">18:00 до 19:20</time> </div>Если есть какой нибудь способ,что бы сразу все месяца заменялись и дни недели, то было бы вообще супершикарно. Если нужно , эту строчку можно завернуть в div. Заранее огромное спасибо Всем, что откликнется! |
тут два варианта, найти в скрипте кусок кода который создает этот объект и исправить формат.
или же через условный оператор править каждое английское слово на русское. |
Второй вариант то, что нужно, не поможешь с кодом?
|
Цитата:
var myDate = new Date("June 9, 2017"); var month=['Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', '', '', '', '', '']; alert(month[myDate.getMonth()] + " " + myDate.getDate() + ", " + myDate.getFullYear()); С днем недели тебе домашнее задание... ;) |
А если просто проверять если в данном диве нужное слово,и если есть, то заменять его.
Например если в диве есть june, то заменять на июнь и т.д. со всеми месяцами и днями недель, или не получится так? |
Цитата:
|
Цитата:
Но ты волен решать каким путем пойдешь именно ты. ;) |
А можно как нибудь твой код через jQuery реализовать? что бы при прогрузке страницы в данном диве менялось
|
в jquery нужного для этих целей нет ничего
|
<html> <head> <meta charset="utf-8"> </head> <body> <div class="date-style"></div> <script> var today = new Date(); var date = new Intl.DateTimeFormat('ru', { day: 'numeric', month: 'long', year: 'numeric', weekday: 'long' }).format(today); document.querySelector('.date-style').innerHTML = date; </script> </body> </html> если это просто текущая дата то лучше заново создать объект, чем пытаться доставать и преобразовывать. |
Цитата:
<script src='https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js'></script> <script src='https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/locale/ru.js'></script> <div class="date-style"> <span class='date'>June 9, 2017 (Friday)</span> <br> <time datetime="18:00 до 19:20">18:00 до 19:20</time> </div> <script> var dateNode = document.querySelector('.date'); dateNode.textContent = moment(dateNode.textContent).format("MMMM D, YYYY (dddd)"); </script> |
destus
выводит ошибку dateNode is null |
destus
В общем все работает, но дело вот в чем, на сайте несколько блоков с датами,а в итоге меняется только первый, можно ли как нибудь сделать,что бы все менялись? |
Step48_rus,
<script src='https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js'></script> <script src='https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/locale/ru.js'></script> <div class="date-style"> <span class='date'>June 9, 2017 (Friday)</span> <br> <time datetime="18:00 до 19:20">18:00 до 19:20</time> </div> <div class="date-style"> <span class='date'>June 10, 2017 (Saturday)</span> <br> <time datetime="18:00 до 19:20">18:00 до 19:20</time> </div> <script> [].forEach.call(document.querySelectorAll('.date-style > .date'), function(el){ el.textContent = moment(el.textContent).format("MMMM D, YYYY (dddd)"); }) </script> |
Спасибо огромное
|
Часовой пояс GMT +3, время: 04:29. |