Pregunta

Pregunta : ¿Cómo convierto cada título individualmente en ISO8601

Estoy tratando de utilizar la biblioteca de tiempo jquery.Pelicito el título con la cadena UTC, por lo que tengo que convertir el título de UTC ATT a ISO8601 antes de ejecutar la biblioteca TimeOgo, de lo contrario Safari / FF / IE no muestra nada.

jquery

var dateString = $('.timeago').attr('title');
var dateConvert = new Date(dateString);
 $('.timeago').attr('title', dateConvert.toISOString());


html

<abbr class="timeago" title="Sun, 30 Jul 2014 15:06:00 -0500"></abbr>
<abbr class="timeago" title="Sun, 30 Jul 2014 14:45:00 -0500"></abbr>


resultados

<abbr class="timeago" title="2014-07-30T20:06:00.000Z">3 minutes ago</abbr>
<abbr class="timeago" title="2014-07-30T20:06:00.000Z">3 minutes ago</abbr>


Resultados esperados

<abbr class="timeago" title="2014-07-30T20:06:00.000Z">3 minutes ago</abbr>
<abbr class="timeago" title="2014-07-30T19:45:00.000Z">24 minutes ago</abbr>

¿Fue útil?

Solución

Su código solo está agarrando el atributo title del primer elemento .timeago.

[JQUERY GENACODICETAGOTETE MÉTODO "[Obtiene] El valor de un atributo para el primer elemento en el conjunto de elementos coincidentes o [conjuntos] uno o más atributos para cada elemento emparejado" ( docs ).

use el método attr()][1] de jquery si desea realizar unAcción en Cada elemento seleccionado en un conjunto:

$(".timeago").each(function() {
    var dateString = $(this).attr('title');
    var dateConvert = new Date(dateString);
    $(this).attr('title', dateConvert.toISOString());
});

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top