Не могу получить this.img('src');
Здраствуйте! Помогите решить следующую проблему: есть некий элемент HTML, содержащий в себе изображение. При клике на этот элемент запускается функция, аргументы которой записываются в обьект, а изображние должно копироваться в соседний div.
<ul class="zipper"> <li> <img src="img.png" /> <p>Описание изображения</p> <a onclick="noteElem(1,2,myObj)">клонировать изображение</a> </li> <li> <div class="imgMustBeHere"></div> </li> </ul> var myObj = {first:0,second:0}; function noteElem(first,second,elemObj){ var i = 0; for(var key in elemObj){ elemObj[key] = arguments[i]; return elemObj[key]; i++; } //var img = $(this).find('img').attr('src').substr(0); var classobj = document.getElementsByClassName('zipper'); if(!classobj) return null; alert(classobj); } |
w46823,
Приведите необходимый для скрипта HTML |
Выше привел. Вот еще раз: <img src="img.png" /> при клике на <a onclick="noteElem(1,2,myObj)">клонироват ь изображение</a> должен скопироваться в <div class="imgMustBeHere"></div>
<ul class="zipper"> <li> <img src="img.png" /> <p>Описание изображения</p> <a onclick="noteElem(1,2,myObj)">клонировать изображение</a> </li> <li> <div class="imgMustBeHere"></div> </li> </ul> |
var img = $(this).find('img').attr('src').substr(0); this указывает на элемент, на котором совершилось событие, т.е <a>. find() осуществляет поиск по потомкам. Т.е мы ищем img в a. Но его же нет... А вобще я не знаю jq... --добавлено--: да и вобще код странный: зачем тут функция noteElem, которая изменяет объект myObj{first:0,second:0} в myObj{first:1,second:2}? Вы осознаете что пишите? |
moron, вы немного невнимательны))
>>При клике на этот элемент запускается функция, аргументы которой записываются в обьект, а изображние должно копироваться в соседний div Осознаю. На комментарий не обращайте внимания, я код скопировал целиком (комментарий только для себя). Допустим, у меня есть <ul> <li> <a onclick="noteElem(1,2,myObj)"><img src="img.png"><p>Отсюда</p></a> </li> <li> <div class="here"><p>Сюда<p></div> </li> </ul> Насколько я понимаю, функция посредством this должна ссылаться на <a>..</a> и в <a>..</a> искать <img />? |
w46823,
На jQuery - пойдёт ? |
Цитата:
Затем считаем от UL тег до li( котороe c div);Затем childNodes[1].appendChild |
Deff
Да уже как-нибудь пойдёт. Я не очень хорошо знаком с синтаксисом языка, поэтому не знаю, как именно получить текущий элемент. var img = document.getElementsByClass('zipper'); img = this.img.childNodes[1]; |
Цитата:
<script type="text/javascript"> function noteElem(a,b,ths) { var ThisTxt = ths.innerHTML; alert(ThisTxt); alert('<UL> =\n'+ths.parentNode.parentNode.innerHTML); } </script> <body> <ul class="zipper"> <li> <img src="img.png" /> <p>Описание изображения</p> <a onclick="noteElem(1,2,this)">клонировать изображение(Клик)</a> </li> <li> <div class="imgMustBeHere"></div> </li> </ul> </body> |
Спасибо огромное!
|
Часовой пояс GMT +3, время: 20:11. |