У меня есть результат поиска продукта prodArray
, который используется при рендеринге моего сценария .ejs. Он состоит из нескольких объектов, основанных на предыдущем запросе. Каждый объект будет содержать поле startDate
, которое является объектом Date()
. Я хочу, чтобы time.js отображал эту дату более приятным способом (формат, который я решил). Я заполняю тег <span>
своей date.toString() с помощью ejs. Затем я хочу, чтобы jQuery забирал это при загрузке документа и представлял его в нужном формате.Как получить jquery для изменения текста на основе текущего текста
Возможно, это не лучший способ сделать что-то. Я открыт для любых предложений.
Мой .ejs код выглядит следующим образом:
<h1>My List of products</h1>
<% prodArray.forEach(function (product) { %>
<div class="product">
<h2><%= product.name %></h2>
<p>Starting: <span class="moment"><%= product.startDate.toString() %></span><br/>
Places: <%= product.places.max %><br/>
</p>
</div>
<% }) %>
<script>
$(document).ready(function() {
// $('.moment').text(moment($(this).text()).format('MMM Do YYYY hh:mm'))
// DOES NOT RUN.
// $('.moment').text(moment($(this).contents()).format('MMM Do YYYY hh:mm'))
// POPULATES ALL MY PRODUCTS WITH THE SAME DATE
// $('.moment').text(moment($(this).val()).format('MMM Do YYYY hh:mm'))
// POPULATES ALL MY PRODUCTS WITH 'INVALID DATE'
/*
$('.moment').on("ready",function() {
var datestr = $(this).text();
$(this).text(moment(datestr).format('MMM Do YYYY hh:mm'))
})
DOES NOT AFFECT ANYTHING. */
})
</script>
Некоторые из вещей, которые я пытался закомментировано в сценарии и их последствия написаны ниже каждого из них. Есть ли
$(.moment).nothinghappened(function() {
// blah
})
мероприятие?
Если у вас есть предложения, я бы очень признателен.
кто имел подобную проблему, которая могла бы помочь - http://stackoverflow.com/a/27659332/4214571 –