سؤال

سؤال:كيف يمكنني تحويل كل عنوان على حدة إلى ISO8601

أحاول الاستفادة من مكتبة JQuery timeago.أقوم بملء العنوان بسلسلة UTC، لذلك لا بد لي من تحويل عنوان UTC attr إلى ISO8601 قبل تشغيل مكتبة Timeago، وإلا فلن يعرض Safari/FF/IE أي شيء.

مسج

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

لغة البرمجة

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

نتائج

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

نتائج متوقعة

<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>
هل كانت مفيدة؟

المحلول

الكود الخاص بك هو فقط الاستيلاء على title صفة الأول .timeago عنصر.

[مسج attr()][1] طريقة "[يحصل على] قيمة سمة للعنصر الأول في مجموعة العناصر المتطابقة أو [مجموعات] سمة واحدة أو أكثر لكل عنصر مطابق" (مستندات).

يستخدم مسج .each طريقة إذا كنت تريد تنفيذ إجراء على كل العنصر المحدد في المجموعة:

$(".timeago").each(function() {
    var dateString = $(this).attr('title');
    var dateConvert = new Date(dateString);
    $(this).attr('title', dateConvert.toISOString());
});
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top