MutationRecord - attributeName
Подскажите пожалуйста, не всоем понимаю, что означает attributeName в MutationRecord:
https://developer.mozilla.org/en-US/...MutationRecord MutationRecord.attributeName String Возвращает локальное имя измененного атрибута или null. Возвращает локальное имя измененного атрибута или null - что в данном случае имеется ввиду под "измененным атрибутом" ? Изменение значение атрибута или изменение имени атрибута ?? Спрашиваю, потому что получается такая ситуация: function my_observer(MutationRecord_, observer_object) { for(let i=0; i<MutationRecord_.length;i++) { let my_MutationRecord_target = MutationRecord_[i].target; let my_MutationRecord_type = MutationRecord_[i].type; if(my_MutationRecord_type == "attributes") { my_MutationRecord_attributeName = MutationRecord_[i].attributeName; my_MutationRecord_attributeName_String_value = my_MutationRecord_target.getAttribute(my_MutationRecord_attributeName); } } } -То есть вызывается callback Mutationobserver -В нем я определяю тип Mutationrecord -Если Mutationrecord == "attributes" - я получаю имя атрибута. И вот тут не понимаю: я вывоу на консоль MutationRecord_[i].target и пыаюсь в нем найти атрибут, который возвратил MutationRecord_[i].attributeName - для примера это "id" - но такого атрибута нет в Ноде MutationRecord_[i].target и соответвуенно значение аттрибута, когда я его пытась получить - возвращается null. Вот что то я не могу понять этого момента. |
Ну видать мутация заключается в том, что атрибут удалили и логично что его нет.)
Возможно(но маловероятно) также, что меняется атрибут в другом неймспейсе и тебе потребуется MutationRecord.attributeNamespace и getAttributeNS. Предыдущее значение можно узнать через MutationRecord.oldValue (для этого при создании наблюдателя надо не забыть добавить attributeOldValue). P.S. Возможно также у тебя имеется непонимание, что Observer - это не EventListener: Observer только наблюдает, и сообщает о своих наблюдениях чуть позже, мир при этом не стоит на месте, в отличие от EventListener который "останавливает мир" пока не произойдёт обработка. |
Спасибо! Понял.
|
Часовой пояс GMT +3, время: 02:21. |