Не могу получить 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, время: 02:13. |