Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   получение src картинки при клике на кнопку (https://javascript.ru/forum/misc/33990-poluchenie-src-kartinki-pri-klike-na-knopku.html)

godofjavascript 17.12.2012 12:07

tsigel, верно подметил, я скопипастил не думая. ну у него в примере вроде и парент прокатит. я не даром вангу позвал, может она нам подсказала бы его разметку...

pivas.net 17.12.2012 12:33

godofjavascript, правы.
Про много элементов не заметил, выцепил лишь разметку из коммента, буду внимательней читать.

godofjavascript 17.12.2012 12:51

pivas.net, да) сам по началу жопоруком был) делал "лишь бы работало" а потом, как прокачал скилл, уже начал всякие оптимизации продумывать и прочее еще до того как заработает, потому что уже знал как сделать чтобы просто работало и этого было мало)

andreychaki 17.12.2012 13:06

разметка может быть любой. имеется кнопка, картинка и много всего на этой же странице. поэтому ее изначально не было. та разметка лишь для примера

pivas.net 17.12.2012 13:26

godofjavascript,
кстати, вы давно руки-то проверяли.
В том конкретном примере что же тогда не дооптимизировали?
$('div.CatalogList').on('click', '> div .button', function () {
	var src = this.parentNode.childNodes[1].getAttribute('src');
});

так что - менее оптимально или так же?

godofjavascript 17.12.2012 13:28

Цитата:

Сообщение от pivas.net
кстати, вы давно руки-то проверяли.

чо?

Цитата:

Сообщение от pivas.net
В том конкретном примере что же тогда не дооптимизировали?

чо?

Цитата:

Сообщение от pivas.net
$('div.CatalogList').on('click', '> div .button', function () {
  var src = this.parentNode.childNodes[1].getAttribute('src');
});

зачем ты используешь то jQuery то не jQuery?

Цитата:

Сообщение от pivas.net
так что - менее оптимально или так же?

так более оптимально но более быдлокодерски. дам те небольшой урок, если работаешь с DOM на jQuery то работай с DOM на jquery. На вопрос "зачем?" отвечать не буду потому что лень.

ruslan_mart 17.12.2012 13:31

<div class="CatalogList">
  <div>
    <img src="img1.jpg">
    <div class="button">11</div>
  </div>
  <div>
    <img src="img2.jpg">
    <div class="button">22</div>
  </div>
  <div>
    <img src="img3.jpg">
    <div class="button">33</div>
  </div>
</div>

<script>
function catalog()
{
   var a = 'getElementsBy';
   for(i=0;i<3;i++)
   {
      eval('document.'+a+'ClassName(\'button\')['+i+']').onclick = function()
      {
         alert( eval('this.parentNode.'+a+'TagName(\'img\')[0].src') );
      }
   }
}
catalog();
</script>

pivas.net 17.12.2012 13:37

Цитата:

Сообщение от godofjavascript (Сообщение 221791)
зачем ты используешь то jQuery то не jQuery?

"не jQuery" ??? 0_o неее не слышал...

pivas.net 17.12.2012 13:39

Ruslan_xDD,
О нет только не это

godofjavascript 17.12.2012 13:39

Ruslan_xDD,
eval(eval('ёба = "ёба";ный= "ный";стыд= " стыд";')
eval("alert(eval('ёба'') + eval('ный') + eval(' стыд'))"))


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