Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   добавление ссылок к картинкам (https://javascript.ru/forum/misc/1699-dobavlenie-ssylok-k-kartinkam.html)

Gekt0r 04.09.2008 14:46

добавление ссылок к картинкам
 
Всем привет, однажды уже обращался с похожим вопросом.. Тогда мне показалось, что нашел решение, но оно оказалось очень глючным)

Есть документ, с картинками. Мне надо сделать часть картинок ссылками. Чтобы был не просто <img src="....">, а <a href = "..."><img src="..."></a>

можно ли это сделать? Если да, то как?
Спасибо)

ZoNT 04.09.2008 15:11

поместить картинки внутрь тега <a>

Gekt0r 04.09.2008 15:12

иии как это сделать?)
я не нахожу метода DOM, который бы это позволил:(
а с innerHTML не получится с тегом <img>

Snipe 04.09.2008 15:40

Цитата:

Сообщение от Gekt0r (Сообщение 5340)
иии как это сделать?)
я не нахожу метода DOM, который бы это позволил:(

appendChild()

Gekt0r 04.09.2008 16:06

Snipe, по-твоему, можно добавить дочерний элемент-ссылку к картинке?
У меня не получилось..
Вот код (упрощенный):

function wrapImages () {
var thisImage; //содержит картинку

var elem = document.createElement("a");
elem.href="http//www.mail.ru";
thisImg.appendChild(elem);
}

на этот код браузер ругается:(

Snipe 04.09.2008 16:11

function wrapImages () {
var thisImage; //содержит картинку
 
var elem = document.createElement("a");
elem.href="http//www.mail.ru";
elem.appendChild(thisImage);
}

Но не проверял.

Snipe 04.09.2008 16:20

Либо innerHTML родительского для всех картинок блока и replace'ом по RegExp'у.

ZoNT 04.09.2008 17:22

ну вообще-то есть такая штука как parentNode :)
var parent = img.parentNode;
parent.removeChild(img);
var elem = document.createElement("a");
elem.href="http//www.mail.ru";
elem.appendChild(img);
parent.appendChild(elem);

Snipe 04.09.2008 17:45

Все верно, упустил =)
тогда, по идее можно картинки не удалять (parent.removeChild(img); ), если верить одному мануалу:
"Метод appendChild() объекта Node добавляет узел newChild в список дочерних узлов данного узла. Если узел newChild уже включен в состав дерева, то перед операцией включения он удаляется."

ZoNT 04.09.2008 18:20

а если ему не верить?


Часовой пояс GMT +3, время: 14:34.