У меня есть этот источник, который пишет время назад. (Я использую timeago как плагин JQuery)jQuery timeago не всегда работает
<script>
$(document).ready(function() {
$("abbr.timeago").timeago();
});
function timeago(time) {
isoTime = new Date();
isoTime.setTime(time);
return "<abbr class='timeago' title='"+isoTime.toISOString()+"'></abbr>";
}
function add() {
$('#ex').append(timeago(time));
}
</script>
, когда я пытаюсь позвонить в add()
функции, ее не всегда.
это работает хорошо:
<script>
add();
</script>
, но когда я пытаюсь вызвать его с помощью кнопки, его не работает:
<button onclick='add()'>button</button>
я думаю, что это не работает, потому что эта линия $("abbr.timeago").timeago();
не смог прочитать новый <abbr>
, который я добавляю. (возможно, он мог бы читать только <abbr>
, который был добавлен до этой строки $("abbr.timeago").timeago();
)
У кого-то есть идея, как его решить?
Вы определяющую 'time', находящийся передано timeago() из add()? –
привет @HartSimha спасибо за помощь! но да, это не проблема. – ldoroni
Если вы нажмете на кнопку, чтобы вставить элемент с классом 'timeago' в DOM, этот элемент не будет существовать в точке, где выполняется '$ (" abbr.timeago "). Timeago();'. .. '$ (" abbr.timeago "). timeago();' будет выполняться при загрузке страницы и поэтому не будет нацелен на какие-либо элементы, если у вас уже нет «abbr.timeago» на странице загрузки страницы. –