Javascript.RU

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

ошибка с innerHTML
Всем привет.
У меня возникла проблема. Есть документ, в котором несколько картинок-превьюшек. Требуется вычислить для каждой адрес большой картинки (это я уже сделал), потом "обернуть" код картинки в ссылку с большой картинкой. (изначально есть <img src="preview.jpg">. А надо - <a href="bigImage"><img src="preview.jpg"></a> )

Я думал сделать так:
1. Собрать все картинки по тэгу
2. В цикле для каждой взять ее innerHTML
3. Потом добавить к старому innerHTML ссылку с большой картинкой

В общем все получается, но только когда я пыьаюсь записать в innerHTML новую инфу, выскакивает ошибка "unknown runtime error"
при этом такой код:
var oldHTML = imgList[index].innerHTML;

работает нормально

а такой:
imgList[index].innerHTML = "что-нибудь";


выдает ошибку.
ЗЫ. imgList - массив картинок, полученный так:
var imgList = document.getElementsByTagName('img');
Ответить с цитированием
  #2 (permalink)  
Старый 19.08.2008, 12:55
Интересующийся
Отправить личное сообщение для Gekt0r Посмотреть профиль Найти все сообщения от Gekt0r
 
Регистрация: 13.08.2008
Сообщений: 28

и, кстати, странность.
когда я вывожу innerHTML картинки алертом, выводится просто пустой алерт
Ответить с цитированием
  #3 (permalink)  
Старый 19.08.2008, 12:57
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

Gekt0r,
Какой может быть innerHTML (внутреннийHTML) у картинки, если она - одинарный тег?
Ответить с цитированием
  #4 (permalink)  
Старый 19.08.2008, 13:02
Интересующийся
Отправить личное сообщение для Gekt0r Посмотреть профиль Найти все сообщения от Gekt0r
 
Регистрация: 13.08.2008
Сообщений: 28

Хм, действительно)
а как тогда быть? Как обернуть картинку в ссылку?
Ответить с цитированием
  #5 (permalink)  
Старый 19.08.2008, 15:50
Флудер
Отправить личное сообщение для ZoNT Посмотреть профиль Найти все сообщения от ZoNT
 
Регистрация: 24.07.2008
Сообщений: 1,271

img - это твоя картинка:
var parent = img.parentNode;
var a = parent.replaceChild(document.createElement('a'),img);
a.href = 'www.ru';
a.appendChild(img);
Ответить с цитированием
  #6 (permalink)  
Старый 19.08.2008, 16:51
Интересующийся
Отправить личное сообщение для Gekt0r Посмотреть профиль Найти все сообщения от Gekt0r
 
Регистрация: 13.08.2008
Сообщений: 28

не работает, выдает ошибку
Я сделал по-другому. Все картинки в документе обрамлены тегом <p></p>
Я сделал выборку всех тегов <p>, определил, в каких из них заключены картинки, а потом заменил innerHTML, добавив туда ссылку

Однако есть еще вопрос, собственно, зачем я все это делаю. Я хочу, чтоб картинки при клике отображались "красиво", например, как тут: http://www.felix-riesterer.de/main/seiten/js_popup.html
я нашел несколько подобных решений, и для их всех надо, чтоб картинки были внутри ссылок. Так вот. Когда я вставляю ссылку на картинку вручную в редакторе документа, то скрипт отрабатывает нормально, и картинка открывается красиво. Когда же я сделал свою функцию, которая добавляет всем картинкам ссылки, то скрипт с этим не заработал. Не знаете, почему такое может быть?
Ответить с цитированием
  #7 (permalink)  
Старый 19.08.2008, 16:56
Флудер
Отправить личное сообщение для ZoNT Посмотреть профиль Найти все сообщения от ZoNT
 
Регистрация: 24.07.2008
Сообщений: 1,271

наверное он при загрузке документа пробегается по ссылкам с картинками и вешает на них обработчики (как вариант - я скрипт не смотрел и не хочу).
Ответить с цитированием
  #8 (permalink)  
Старый 19.08.2008, 17:01
Интересующийся
Отправить личное сообщение для Gekt0r Посмотреть профиль Найти все сообщения от Gekt0r
 
Регистрация: 13.08.2008
Сообщений: 28

Сообщение от ZoNT Посмотреть сообщение
наверное он при загрузке документа пробегается по ссылкам с картинками и вешает на них обработчики (как вариант - я скрипт не смотрел и не хочу).
я смотрел, как я понял, именно так он и делает.
А почему может не работать тогда? Ведь моя функция вешает ссылки на картинки...
Ответить с цитированием
  #9 (permalink)  
Старый 19.08.2008, 17:08
Флудер
Отправить личное сообщение для ZoNT Посмотреть профиль Найти все сообщения от ZoNT
 
Регистрация: 24.07.2008
Сообщений: 1,271

Ну при загрузке документа у тебя же ещё нет ссылок? по чему будет пробегаться этот скрипт и вешать обработчики???
Ответить с цитированием
  #10 (permalink)  
Старый 19.08.2008, 17:16
Интересующийся
Отправить личное сообщение для Gekt0r Посмотреть профиль Найти все сообщения от Gekt0r
 
Регистрация: 13.08.2008
Сообщений: 28

Сообщение от ZoNT Посмотреть сообщение
Ну при загрузке документа у тебя же ещё нет ссылок? по чему будет пробегаться этот скрипт и вешать обработчики???
Гм.. А как тогда можно сделать, чтоб моя функция разместила ссылки до этого скрипта?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка вызова замыкания Андрей Параничев Общие вопросы Javascript 8 01.10.2008 20:16
не могу понять в чём ошибка scuter Общие вопросы Javascript 2 28.08.2008 14:22
Не работает innerHTML для textarea в ФФ ropil Сайт Javascript.ru 5 06.05.2008 18:53
Неопознанная ошибка object Общие вопросы Javascript 2 05.04.2008 17:39
IE: неизвестная ошибка выполнения _Kpot_ Internet Explorer 1 03.04.2008 10:00