قم بتحويل كل عنوان <attr> إلى ISO8601 بشكل منفصل
-
21-12-2019 - |
سؤال
سؤال:كيف يمكنني تحويل كل عنوان على حدة إلى 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());
});
لا تنتمي إلى StackOverflow