Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.01.2013, 20:17
Аватар для w46823
Аспирант
Отправить личное сообщение для w46823 Посмотреть профиль Найти все сообщения от w46823
 
Регистрация: 28.03.2012
Сообщений: 36

Не могу получить 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);
}
Ответить с цитированием
  #2 (permalink)  
Старый 04.01.2013, 20:53
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

w46823,
Приведите необходимый для скрипта HTML
Ответить с цитированием
  #3 (permalink)  
Старый 05.01.2013, 00:03
Аватар для w46823
Аспирант
Отправить личное сообщение для w46823 Посмотреть профиль Найти все сообщения от w46823
 
Регистрация: 28.03.2012
Сообщений: 36

Выше привел. Вот еще раз: <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>

Последний раз редактировалось w46823, 05.01.2013 в 13:49.
Ответить с цитированием
  #4 (permalink)  
Старый 05.01.2013, 16:17
Аспирант
Отправить личное сообщение для moron Посмотреть профиль Найти все сообщения от moron
 
Регистрация: 29.07.2012
Сообщений: 49

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, 05.01.2013 в 16:28.
Ответить с цитированием
  #5 (permalink)  
Старый 05.01.2013, 17:10
Аватар для w46823
Аспирант
Отправить личное сообщение для w46823 Посмотреть профиль Найти все сообщения от w46823
 
Регистрация: 28.03.2012
Сообщений: 36

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 />?
Ответить с цитированием
  #6 (permalink)  
Старый 05.01.2013, 17:36
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

w46823,
На jQuery - пойдёт ?
Ответить с цитированием
  #7 (permalink)  
Старый 05.01.2013, 17:40
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от w46823
Насколько я понимаю, функция посредством this должна ссылаться на <a>..</a> и в <a>..</a> искать <img />?
Ищем от this общего родителя (ul class="zipper);
Затем считаем от UL тег до li( котороe c div);Затем childNodes[1].appendChild
Ответить с цитированием
  #8 (permalink)  
Старый 05.01.2013, 19:07
Аватар для w46823
Аспирант
Отправить личное сообщение для w46823 Посмотреть профиль Найти все сообщения от w46823
 
Регистрация: 28.03.2012
Сообщений: 36

Deff
Да уже как-нибудь пойдёт. Я не очень хорошо знаком с синтаксисом языка, поэтому не знаю, как именно получить текущий элемент.
var img = document.getElementsByClass('zipper');
img = this.img.childNodes[1];
Ответить с цитированием
  #9 (permalink)  
Старый 05.01.2013, 19:49
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от w46823
Да уже как-нибудь пойдёт. Я не очень хорошо знаком с синтаксисом языка, поэтому не знаю, как именно получить текущий элемент.
http://javascript.ru/tutorial/dom/search
<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>
Ответить с цитированием
  #10 (permalink)  
Старый 05.01.2013, 20:30
Аватар для w46823
Аспирант
Отправить личное сообщение для w46823 Посмотреть профиль Найти все сообщения от w46823
 
Регистрация: 28.03.2012
Сообщений: 36

Спасибо огромное!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу получить свойство объекта FINoM Общие вопросы Javascript 4 04.12.2011 04:46
Не могу получить ширину объекта(картинки) Cruzer Общие вопросы Javascript 8 28.10.2011 20:18
Не могу получить значение атрибута DenQ jQuery 9 06.02.2011 14:33
Не могу получить id элементов в таблице. LowCoder Общие вопросы Javascript 2 05.07.2009 14:53
Не могу получить высоту из css asci Общие вопросы Javascript 5 30.03.2009 13:31