Используйте each
для l oop через них и $(this)
в пределах each
для доступа к каждому отдельному:
$(".timeAgo").each(function() {
var $el = $(el);
$el.html(timeAgo($el.attr("create")));
});
Также обратите внимание на использование html()
, а не innerHTML =
. Хотя в обратном вызове действительно нет необходимости в jQuery:
$(".timeAgo").each(function() {
this.innerHTML = timeAgo(this.getAttribute("create"));
});
На самом деле, вам не нужно jQuery вообще ни в одном современном браузере (но это не будет работать в IE11, если только Вы выполните мои шаги здесь , чтобы заполнить forEach
):
document.querySelector(".timeAgo").forEach(function(element) {
element.innerHTML = timeAgo(element.getAttribute("create"));
});
Примечание: вы, похоже, создаете элементы с нестандартным атрибутом create
. Рекомендации WHAT-WG и W3 C не делают этого, поскольку всегда возможно, что атрибуту будет назначено стандартное значение в будущем. Вместо этого используйте data-create
(атрибут data-*
) и получите к нему доступ через .attr("data-create")
. (См. мой ответ здесь , почему вы можете или не захотите использовать вместо него .data("create")
.)
$(".timeAgo").each(function() {
var $el = $(this);
$el.html(timeAgo($el.attr("data-create")));
});
или
$(".timeAgo").each(function() {
this.innerHTML = timeAgo(this.getAttribute("data-create"));
});
или (с полифилом для IE11, если необходимо)
document.querySelector(".timeAgo").forEach(function(element) {
element.innerHTML = timeAgo(element.getAttribute("data-create"));
});