не могу получить значение атрибута
Почему не работает такой код
<div id="yu"> <img src="Smail/1.gif" width="20" height="24" title="smail:-)" /> <img src="Smail/2.gif" width="28" height="23" title="laughing out lou" /> <img src="Smail/5.gif" width="30" height="26" title="tank you" /> </div>
<script language="JavaScript" type="text/javascript">
/*<![CDATA[*/
var cont=document.getElementById('yu');
var arr=[];
for (var x=cont.firstChild;x!=null;x=x.nextSibling)
{ var y=x.getAttribute('title') ;
arr.push(y);}
var kl=arr[0] ;
alert(kl);
/*]]>*/
</script>
|
Отформатируйте свой код, для этого есть специальные дескрипторы [html] и [JS]
|
Как только цикл натыкается на текстовую ноду (пробелы между тегами считаются за DOM-элемент), возникает TypeError из-за того, что текстовые ноды не имеют метод getAttribute.
|
То таким макаром я не получу значения?Надо идти по другому пути?
|
Спасибо exec!!!Намек понял и получилось
<script language="JavaScript" type="text/javascript">
/*<![CDATA[*/
var cont=document.getElementById('yu');
var arr=[];
for (var x=cont.firstChild;x!=null;x=x.nextSibling)
{ if(x.nodeType==1)
{ var y=x.getAttribute('title') ;
arr.push(y);}}
var kl=arr[0] ;
alert(kl);
/*]]>*/
</script>
|
<div id="div">
<img src="#" title="1" alt="" />
<img src="#" title="2" alt="" />
<img src="#" title="3" alt="" />
</div>
<script type="text/javascript">
var div = document.getElementById('div').getElementsByTagName('img');
for(i=0; i<div.length; i++){
alert(div[i].title);
}
</script>
|
| Часовой пояс GMT +3, время: 20:00. |