jQuery: Как я могу определить, изменился ли html в данном элементе?
В javascript, возможно с использованием jQuery, как я могу определить, изменилось ли содержимое html данного элемента?
Я хотел бы иметь возможность сделать что-то вроде:
$('#myDiv').change(function(){
// do some stuff
});
Я в основном пытаюсь определить, были ли данные элементы добавлены в div или внутренний html данных элементов (например, метки) изменился, а затем скрыть или показать div в зависимости от содержимого.
Любая альтернативная идея о том, как достичь SMT, как это также приветствуется.
Я надеюсь, что мне не придется возвращаться к неясному плагину, чтобы сделать это!
ПРИМЕЧАНИЕ: это должно работать по крайней мере в IE8!
1 ответ
Вы можете использовать событие DOM Level 3 DOMNodeInserted. Пример:
$('#myDiv').bind('DOMNodeInserted', function(e) {
console.log('element: ', e.target, ' was inserted);
});
Демо: http://www.jsfiddle.net/vsgdZ/1/
Событие будет срабатывать всякий раз, когда новый узел добавляется к элементу, с которым вы связываете обработчик.