У меня есть Message SignRR messagingHub, который проверяет, находятся ли пользователи в сети или нет.Проверьте, являются ли элементы dom с идентификатором атрибута данных, а затем обновляют эти атрибуты данных данных.
Как только я определяю идентификатор и статус подключенных пользователей, мне необходимо обновить любые элементы dom, содержащие атрибуты данных с идентификатором пользователя и обновить их статус.
В принципе, мне нужно показать на веб-сайте отдельный класс для каждого элемента dom, чтобы показать, какой пользователь находится в сети, а какой нет.
Это моя первая попытка:
chatMessagingHub.on('updateUserOnlineStatus', function (userId, isOnline) {
var status = (isOnline) ? 'online' : 'offline';
console.log('userid: ' + userId + ' status: ' + status);
// Check the user id matches any dom elements with a data-attr userid
if($('[data-userId]') == userId) {
// Update the selected dom elements data-status attributes
$(this).attr('[data-status]', isOnline);
// Detect the change and update the class of the dom element
$(this).on('change', function() {
// Check the value of the data-status parameter to add class
if($(this).attr('data-status') == 'offline') {
$(this).removeClass('online');
} else {
$(this).addClass('online');
}
});
}
});
Просто добавьте $ (это) .trigger ('изменения'); – Thorin
- это $ (это), упомянутый chatMessagingHub ?? – Vanojx1
Я хочу нацелить $ (this) как элемент dom, который имеет соответствующий attr userid –