Использование MutationObserver для наблюдения за изменением атрибута только для определенного атрибута.Jquery

Программирование на jquery
Ответить
Anonymous
 Использование MutationObserver для наблюдения за изменением атрибута только для определенного атрибута.

Сообщение Anonymous »


У меня есть список элементов, и я использую Mutation Observer, чтобы проверить, добавляются ли элементы из этого списка или удаляются из него. Код выглядит следующим образом:

функция TrackListChange(elementId) { const targetNode = document.getElementById(elementId); const config = {атрибуты: true, childList: true, поддерево: true }; const обратный вызов = функция (mutationsList, наблюдатель) { for (пусть мутацияmutationsList) { if (mutation.type === 'childList') { alert("добавлен в список"); } if (mutation.type === 'атрибуты') { alert("удален из списка"); } } }; константный наблюдатель = новый MutationObserver (обратный вызов); Observer.observe(targetNode, config); } Проблема, с которой я столкнулся, заключается в том, что когда я удаляю элемент из списка, изменяются ДВА атрибута класса, и он отслеживает их оба. Я хочу, чтобы оповещение вызывалось только один раз, когда элемент удаляется из списка. Чтобы попытаться объяснить лучше, вот код:
Когда я добавляю элемент, добавляется новый элемент , все просто, никаких других изменений. Это работает нормально. Однако когда я удаляю элемент и пытаюсь проверить, что происходит, элемент меняется, но меняется и сам элемент. Из-за особенностей кодирования проекта элемент добавляет к удаленному элементу класс с надписью «class="hidden"».

Прошу прощения, так как знаю, что не увидеть изменений в консоли довольно сложно, да и отлаживать мне тоже сложно. По сути, есть ли способ проверить конкретный атрибут, который меняется? Например. когда элемент удаляется и к элементу добавляется «скрытый» класс, могу ли я проверить изменение этого конкретного атрибута, а не всех из них?

Надеюсь, это объяснено достаточно, чтобы кто-нибудь указал мне правильное направление?
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Jquery»