Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 30.06.2010, 19:13
Аспирант
Отправить личное сообщение для libinstyle Посмотреть профиль Найти все сообщения от libinstyle
 
Регистрация: 23.03.2010
Сообщений: 54

Как получить второй дочерний элемент, или второй смежный
Здравствуйте, запарсил XML, и некоторые таги и аттрибуты отобразил прям как есть. Вот кусок кода.

<item thumb="il-button15.jpg">
			<img link="il-image15.jpg"><txt><![CDATA[<font color='#3E3A3A'>In the Beginning Man Created God</font>, Keter Books]]></txt></img>
		</item>
		
		<item thumb="il-button16.jpg">
			<img link="il-image16.jpg"><txt>Tolerance, Galeria Barbour</txt></img>
		</item>
		
<item thumb="il-button17.jpg">
<img src="../images/illustration/il-image17e.jpg" class="pics" height="50"> 
				<txt style="display:none"><font color='#3E3A3A'>A Girl from There</font> by Hava Nissimov, Mikteret Books</txt> 
				<buyit style="display:none" data-typ="book" data-short_text="A Girl from There" data-prc="18" id="111115">Limited edition, 112 pages, Hebrew language<br/>Separate English translation attached<br/>Fragments of memories  of a  child<br/>Israel Meuseum Award - silver medal</buyit> 
			</img> 
			<img src="../images/illustration/il-image17f.jpg" class="pics" height="50"> 
				<txt style="display:none"><font color='#3E3A3A'>A Girl from There</font> by Hava Nissimov, Mikteret Books</txt> 
				<buyit style="display:none" data-typ="book" data-short_text="A Girl from There" data-prc="18" id="111116">Limited edition, 112 pages, portugal language<br/>Separate English translation attached<br/>Fragments of memories  of a  child<br/>Israel Meuseum Award - silver medal</buyit> 
			</img> </item>


В некоторых у некоторых img, нет дочернего элемента buyit.
У меня есть скрипт, который выполняется при клике на img
window.onload=(function(){
    var pics=(d=document).getElementsByTagName('img');
    for(i=0;i<=(pics.length-1);i++){ 
        pics[i].onclick=(function(){
            alert(/////)
			
			 
    
	
	 
	   }); 
		
    }

});

Что мне прописать в alert, чтобы он мне выдал значения аттрибута
data-short_text у тега <buyit> если таковой (тег) имеется, а если нет, то вывел бы "!!!".
Пытался писать this.ChildNodes[1],

убирал </img>, вместо него <img src="" /> и тогда делать this.nextSibling.nextSibling ничего не получилось. Как быть?
Заранее спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 30.06.2010, 19:50
Профессор
Отправить личное сообщение для exec Посмотреть профиль Найти все сообщения от exec
 
Регистрация: 21.01.2010
Сообщений: 1,022

this.getElementsByTagName('buyit');


Не гарантирую работоспособность, т.к. IMG — одиночный тег, м.б. он вообще не может иметь дочерних узлов.
Ответить с цитированием
  #3 (permalink)  
Старый 30.06.2010, 20:25
Аспирант
Отправить личное сообщение для libinstyle Посмотреть профиль Найти все сообщения от libinstyle
 
Регистрация: 23.03.2010
Сообщений: 54

Все. разобрался, просто всю эту тему заключил в span, а img сделал как надо- <img /> внутри него.
следовательно там же и buyit. А потом вот такой вот код
var gg=this.parentNode.getElementsByTagName('buyit');
	
	alert(gg[0].getAttribute('data-prc'));
Ответить с цитированием
  #4 (permalink)  
Старый 30.06.2010, 20:34
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

Я бы сделал так:
a=document.getElementsByTagName('buyit')
for(var i=0; i<a.length; i++) {
a[i].parentNode.onclick = function(x) {
return function() { alert(a[x].getAttribute('data-short_text')) }
}(i)
}

Жаль только я опоздал с ответом
Ответить с цитированием
  #5 (permalink)  
Старый 30.06.2010, 20:41
Аспирант
Отправить личное сообщение для libinstyle Посмотреть профиль Найти все сообщения от libinstyle
 
Регистрация: 23.03.2010
Сообщений: 54

Зачетно, спасибо! Запишу это к себе на будующее. В данном случае спэн предпочтительней так как это разрешило мне еще одну неразрешимую задачу )))
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как получить указатель на элемент вызвавший функцию pelayo Общие вопросы Javascript 9 29.06.2010 23:32
Как узнать, присутствует ли в окне полоса прокрутки или нет? возжаждавший Элементы интерфейса 6 12.03.2010 23:00
30(1|2) редирект от сервера. Или как лучше сделать редирект при верной отсылке форма. pizzZ AJAX и COMET 2 18.02.2010 09:06
О наследовании событий, или как корректно его отменить. JCShen Events/DOM/Window 8 09.02.2010 00:00
Как проверить анимируется в данный момент элемент или нет sysya jQuery 2 15.01.2010 00:32