Question

Question:Comment puis-je convertir chaque titre individuellement dans ISO8601

J'essaie d'utiliser le timeago bibliothèque JQuery.- Je remplir le titre avec UTC chaîne, donc je dois convertir au format UTC attr titre de ISO8601 avant l'exécution de la Timeago bibliothèque, autrement Safari/FF/IE ne montrent rien.

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>

Résultats

<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>

Résultats Attendus

<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>
Était-ce utile?

La solution

Votre code n'est saisissant les title l'attribut de la première .timeago de l'élément.

[jQuery attr()][1] méthode "[devient] la valeur d'un attribut pour le premier élément dans l'ensemble d'éléments qui correspondent ou [jeux] un ou plusieurs attributs pour chaque appariés élément" (docs).

Utilisation jQuery .each méthode si vous souhaitez effectuer une action sur chaque l'élément sélectionné dans un jeu:

$(".timeago").each(function() {
    var dateString = $(this).attr('title');
    var dateConvert = new Date(dateString);
    $(this).attr('title', dateConvert.toISOString());
});
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top