После загрузки страницы HTML-рендеринг выглядит следующим образом.
<h3>Lorem ipsum dolor sit</h3>
<p>Meeting scheduled for 7/19/26, You should receive the email confirmation shortly.</p>
<h4>Lorem ipsum dolor sit</h4>
<p>lorem ipsum dolor sit</p>
Теперь я хочу изменить формат даты, например, 19 июля, с помощью jQuery или JavaScript, чтобы параграф был таким.
Meeting scheduled for July 19th, You should receive the email confirmation shortly.
Я всего лишь базовый разработчик и не знаю, как это сделать.
July 19th
, тебя не беспокоит 2026 год?
его требование. так что год не беспокоит
@user3376865: user3376865: «не знаю, как это сделать» — шаг за шагом. Разбейте проблему на более мелкие части. Ваша первая задача — прочитать это значение из разметки. jQuery предоставляет функциональные возможности для выбора элемента и чтения текста этого элемента. Когда вы делаете попытку, вы где-нибудь застреваете?
да, я не могу проанализировать дату из строки.
@ user3376865: Какую попытку вы предприняли и почему этот код не работает должным образом? Пожалуйста, обновите вопрос, включив в него минимально воспроизводимый пример в виде работоспособного фрагмента кода, который демонстрирует проблему, с которой вы столкнулись, и укажите, в чем она заключается.
Можете ли вы попробовать это?
Вывод пишется как в консоли, так и в самом теле, вы можете доработать скрипт под свои нужды.
function getOrdinal(n) {
let ord = ["st", "nd", "rd"]
let exceptions = [11, 12, 13]
let nth = ord[(n % 10) - 1] == undefined || exceptions.includes(n % 100) ? "th" : ord[(n % 10) - 1]
return n + nth
};
var temp = document.getElementsByTagName("p")[0].innerHTML
temp = temp.replace(',','');
var strDate = temp.match(/\d{1,2}\D\d{1,2}\D(\d{4}|\d{2})/g)
var objDate = new Date(strDate);
var myDate = objDate.getDate();
var myMonth = objDate.toLocaleString('default', { month: 'long' });
var myYear = objDate.getFullYear();
var myStr = temp.replace(strDate, myMonth + ' ' + getOrdinal(myDate) + ', ' + myYear + '.');
console.info(myStr);
document.getElementsByTagName("p")[0].innerHTML= myStr;
<h3>Lorem ipsum dolor sit</h3>
<p>Meeting scheduled for 7/19/26, You should receive the email confirmation shortly.</p>
<h4>Lorem ipsum dolor sit</h4>
<p>lorem ipsum dolor sit</p>
ваш код работает так, как требуется, но когда я добавил еще одну строку в код, чтобы выполнить мои требования, эта строка кода не отражается во внешнем интерфейсе. вот код temp.textContent = "myStr"; Однако требуемый результат, напечатанный в консоли, можно увидеть. Я написал этот фрагмент кода после оператора консоли.
Попробуйте этот document.getElementsByTagName("p")[0].innerHTML= myStr
Я также добавил свой комментарий выше к сценарию.... Вы можете принять мой ответ, если он вас устраивает.
чтобы помочь другим, можете ли вы немного изменить свой код, чтобы добавить еще и год? например, 19 июля 2024 г.
Я переработал сценарий выше в соответствии с вашим последним комментарием. Можешь проверить еще раз....
@user3376865; все наладилось?
Что вы пробовали и что не сработало так, как ожидалось? Если у вас нет более структурированного доступа к данным, я полагаю, вам придется вручную проанализировать это значение из текста, чтобы вы могли преобразовать его в
Date
и отформатировать его по своему усмотрению. Где конкретно вы застреваете?