Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Получить title изображения внутри ссылки по клику (https://javascript.ru/forum/events/52823-poluchit-title-izobrazheniya-vnutri-ssylki-po-kliku.html)

TRos 08.01.2015 22:23

Получить title изображения внутри ссылки по клику
 
Здравствуйте!

Столкнулся с непоняткой. Имеется следующий типичный HTML-код:

Код:

<p class="ct2">
<a target="_blank" href="Picture_3.png">
<img src="Picture_3_small.png" width="400" height="258" title="Какое-то описание" alt="Альтернативный текст" />
</a>
</p>

При нажатии на маленькую ссылку-картинку в модальном окне появляется увеличенный ее вариант. Нужно сделать подпись под увеличенным изображением, которая бралась бы из значения title.

В данный момент у меня выходит получить title только ссылки таким способом:

var t = this.title;


Однако, если я пытаюсь получить дочерний title из IMG, ничего не получается...

Пробовал так:

var t = this.childNodes[0].title;
var t = this.firstChild.title;


Не выходит ни через массив, ни напрямую. Прошу подсказать, в чем я заблуждаюсь и в какую сторону копать :) Заранее благодарю!

P.S.: Добавлять классы или как-то по-иному менять HTML-код нежелательно, так как он работает на сайте, где имеется несколько тысяч страниц и будет довольно напряжно менять все.

рони 08.01.2015 22:26

TRos,
this.parentNode.title

TRos 08.01.2015 22:33

Цитата:

Сообщение от рони (Сообщение 350343)
this.parentNode.title

Не оно. Насколько я понимаю, parentNode выдаст title для родительского элемента (в моем случае - <p>). А мне нужен дочерний...

TRos 08.01.2015 22:39

У ссылки как раз title и нет. Title идет внутри тега img... Если я переношу title из <img> в <a>, то вариант
this.title
возвращается корректно. Однако, если не переносить, то не выводится вообще ничего.

рони 08.01.2015 22:40

TRos,
this.children[0].title

рони 08.01.2015 22:41

TRos,
первоначально понял что по картинке клик а титле из ссылки нужно

рони 08.01.2015 22:42

Цитата:

Сообщение от TRos
var t = this.childNodes[0].title;var t = this.firstChild.title;

это вы у пробела между тегами титле искали

TRos 08.01.2015 22:43

Тоже пробовал - не помогло...
Также пробовал варианты:

firstElementChild
getElementsByTagName('img')[0]


не помогает ни один из них.

TRos 08.01.2015 22:49

Цитата:

Сообщение от рони (Сообщение 350350)
это вы у пробела между тегами титле искали

А как найти внутри <img> тогда?

рони 08.01.2015 22:54

TRos,
:-?
<p class="ct2">
<a target="_blank" href="Picture_3.png" onclick="alert(this.children[0].title);return false">
<img src="Picture_3_small.png" width="400" height="258" title="Какое-то описание" alt="Альтернативный текст" />
</a>
</p>


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