не могу получить значение атрибута
Почему не работает такой код
<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, время: 14:56. |