Как определить, когда изменяется класс элементов HTML?
<div class="current"></div>
<a href="#">text</a>
Как определить, когда, например, Класс .live
добавляется к этому <div>
и что-то делать, когда это произошло?
Например, если класс изменен, тогда скройте ссылку.
У меня есть уменьшенный script, который вносит изменения в класс <div>
. Слишком большой для меня, чтобы найти место, где это происходит, поэтому я ищу какой-то способ поймать изменение класса.
Ответы
Ответ 1
Есть события DOM, но они далеки от совершенства и недоступны в большинстве браузеров. Другими словами: Невозможно (надежно). Есть хаки, такие как интервалы и проверка их на каждой итерации, но если вам нужно что-то сделать, ваш дизайн, вероятно, завинчен. Имейте в виду, что такие вещи будут медленными и что всегда будет задержка. Чем меньше задержка, тем медленнее приложение. Не делайте этого.
Ответ 2
Вы можете проверить следующую статью для некоторых идей.
Ответ 3
Я не знаю, является ли класс, который вы добавляете к ссылке, всегда один и тот же, но если да, почему бы вам использовать CSS для этого.
<style type='text/css>
.myaddedclass{display:none}
</style>
Ответ 4
Если вам просто нужно выяснить это однажды (т.е. не в коде), веб-инспектор Google Chromes показывает изменения DOM в реальном времени. Не уверен, что это поможет вам в этом.