Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.11.2013, 17:35
Интересующийся
Отправить личное сообщение для SeMiTr Посмотреть профиль Найти все сообщения от SeMiTr
 
Регистрация: 28.11.2013
Сообщений: 12

Про 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 - не функция'. И все аналогичные операторы в разных модификациях давали ту же ошибку. Что же это, если не функция?
Ответить с цитированием
  #2 (permalink)  
Старый 28.11.2013, 17:59
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

А браузер какой? В хроме все отлично.
<!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>
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #3 (permalink)  
Старый 28.11.2013, 19:33
Интересующийся
Отправить личное сообщение для SeMiTr Посмотреть профиль Найти все сообщения от SeMiTr
 
Регистрация: 28.11.2013
Сообщений: 12

Firefox 25.0.1. Собственно ошибка возникает при наведении на ссылку.
Ответить с цитированием
  #4 (permalink)  
Старый 29.11.2013, 10:30
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Короче, этот метод не стандартизирован. Изначально его придумал Microsoft. Почему его реазиловали в хроме - фиг знает.
Стандартизировать его не собираются, так как он полностью заменяется другими методами.

Так вместо
target.insertAdjacentElement('beforeBegin', newDiv);

пиши
target.parentNode.insertBefore(newDiv, target);
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #5 (permalink)  
Старый 29.11.2013, 12:17
Интересующийся
Отправить личное сообщение для SeMiTr Посмотреть профиль Найти все сообщения от SeMiTr
 
Регистрация: 28.11.2013
Сообщений: 12

Спасибо)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Про использование cookies zloctb Общие вопросы Javascript 3 11.02.2012 09:36
вопрос про null Arkinsstoun jQuery 5 04.01.2012 23:20
Как можно что-нибудь узнать про интерфейс чужого объекта GRIG Internet Explorer 0 09.03.2011 17:16
Что скажете про блондинку (которая ru)? Jurasmi Оффтопик 8 01.01.2011 15:14
Что можно и нужно прочитать про валидацию? Amateur Общие вопросы Javascript 5 09.03.2010 11:41