Про insertAdjacentElement
У меня появилась проблема при решении задачи из учебника этого сайта. Всё что не относится к ошибке я удалил
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <style> body { height: 2000px; </style> </head> <body> <a href="#" id="link2" data-tooltip="HTML<br>подсказка">Еще ссылка</a> <script> document.body.onmouseover = function(e) { var event = e || window.event; var target = event.target || event.srcElement; if (target.tagName=='A'){ var newDiv = document.createElement('div'); newDiv.innerHTML = target.getAttribute('data-tooltip'); target.insertAdjacentElement('beforeBegin', newDiv); } } </script> </body> </html> Ошибка в последней строке скрипта: 'insertAdjacentElement - не функция'. И все аналогичные операторы в разных модификациях давали ту же ошибку. Что же это, если не функция? |
А браузер какой? В хроме все отлично.
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <style> body { height: 2000px; </style> </head> <body> <a href="#" id="link2" data-tooltip="HTML<br>подсказка">Еще ссылка</a> <script> document.body.onmouseover = function(e) { var event = e || window.event; var target = event.target || event.srcElement; if (target.tagName=='A'){ var newDiv = document.createElement('div'); newDiv.innerHTML = target.getAttribute('data-tooltip'); target.insertAdjacentElement('beforeBegin', newDiv); } } </script> </body> </html> |
Firefox 25.0.1. Собственно ошибка возникает при наведении на ссылку.
|
Короче, этот метод не стандартизирован. Изначально его придумал Microsoft. Почему его реазиловали в хроме - фиг знает.
Стандартизировать его не собираются, так как он полностью заменяется другими методами. Так вместо target.insertAdjacentElement('beforeBegin', newDiv); пиши target.parentNode.insertBefore(newDiv, target); |
Спасибо)
|
Часовой пояс GMT +3, время: 20:08. |