Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > Работа с DOM


Автор: taral 13.8.2008, 12:04
Пожалуйста подскажите как добратся до элемента 'элемент1'
Код

<table width="100%" border="0" id="dsd">
  <tr>
    <td>hhhh</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td><input name="text" type="text" value="kkk"/></td>
    <td>&nbsp;</td>
  </tr>
</table>

Как вывести в alert() текст hhhh и значение формы - kkk?
Не добавляя лишней разметки. Я пробывал так:
document.getElementsById('dsd').getElementsByTagName('tr')[0].childNodes[0].innerHTML

это выводит document.getElementsById('dsd').getElementsByTagName('tr')[0].innerHTML Но конечно с разметкой. А первый вариант не работает. Помогите.

Автор: Michael.de 13.8.2008, 14:15
ID - вещь уникальная, поэтому getElementsById() лишено смысла. Правильно без 's': getElementById() smile

Так показывает в IE6 и FF2:
Код

<html>
<head>
<script type="text/javascript">
function show(){
 var td=document.getElementById('dsd').getElementsByTagName('tr')[0].getElementsByTagName('td')[0].innerHTML;
 var input=document.getElementById('dsd').getElementsByTagName('tr')[1].getElementsByTagName('td')[0].firstChild.value;
 alert('td: '+td+'\ninput: '+input);
}
</script>
</head>
<body onload='show();'>
<table width="100%" border="0" id="dsd">
 <tr>
  <td>hhhh</td>
  <td>&nbsp;</td>
 </tr>
 <tr>
  <td><input name="text" type="text" value="kkk"/></td>
  <td>&nbsp;</td>
 </tr>
</table>
</body>
</html>

То что нужно?

Автор: taral 13.8.2008, 14:17
Цитата
ID - вещь уникальная, поэтому getElementsById() лишено смысла. Правильно без 's': getElementById()

Знаю. Это описка. Я использую прототайп библиотеке. Но тут писать $() посчитал излишеством. Я же не про библиотеку вопрос использовал. Ну и на скорую руку написал)

Добавлено через 37 секунд
А за ответ огромное спасибо!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)