Показать сообщение отдельно
  #1 (permalink)  
Старый 07.06.2012, 12:31
Rik Rik вне форума
Интересующийся
Отправить личное сообщение для Rik Посмотреть профиль Найти все сообщения от Rik
 
Регистрация: 06.06.2012
Сообщений: 24

Управление таблицей
Доброго дня всем!
Програмлю на Java для удовольствия так что отношу себя к Новичкам.
Отличный форум, покурив его много чему научился!!!
Есть такая проблемка, нужно скажем так распарсить страничку, на этой странице я выкусываю только таблицу. Что я сделал: загоняю адрес страницы в браузер, получаю указатель на таблицу, обрабатываю её, может коряво с точки зрения проф. но работает.
вот табличка
<div style="overflow: auto; height: 480px;" id="block_data">
  <table cellpadding="3" cellspacing="0" width="100%">
     <tr>
        <td class="chnow" align="center" valign="top">1111</td>
        <td class="chnow1" valign="top">aaaaaa</td>
    </tr>
    <tr>
         <td class="chnow" align="center" valign="top">2222</td>
         <td class="chnow1" valign="top">bbbbbb</td>
    </tr>
    <tr bgcolor="#efefef">
          <td class="chnow" align="center" valign="top">
               <a name="now" id="now">3333</a> </td>
          <td valign="top">cccc</td>
    </tr>
    <tr>
           <td class="chnow" align="center" valign="top">4444</td>
           <td valign="top">dddddddddddd</td>
    </tr>
     <tr>
             <td class="chnow" align="center" valign="top">5555</td>
             <td valign="top">eeeeeeeeeeeeee</td>
     </tr>
 </table>
</div>

вот код
var table_temp = document.getElementById('block_data').getElementsByTagName('table')[0];
var i=0;
for (; i < table_temp.rows.length; i++)
  {
    if (table_temp.rows[i].innerHTML.indexOf('id="now"') == -1)  table_temp.rows[i].style.color = 'grey'
      else 
       { 
           table_temp.rows[i].style.color = 'green';
           break;
       }
   }
table_temp.style.margin = -i*27 + 'px 0px 0px 0px ';
var temp_url = document.getElementById('block_data').innerHTML;

API.putInnerHTML = temp_url;

Вот тут появились первые грабли: обработанную таблицу я вставлю к себе во фрэйм, и хочу что бы "now" было на начало фрэйма, поэтому я margin сдвигаю таблицу в верх на "i" строк, но фрейм небольшой и если строки в таблице длинные то начинается перенос строк, ячейка становится больше одной строки и я не могу попасть точно на начало фрейма. Вообще возможно это сделать?

Вторые грабли, на странице есть такой код:
<table cellpadding="3" cellspacing="0" width="100%">
   <tr>
     <td class="th">
        <a href="#" onclick="xajax_xgetProg('126','0','1')" title>Пн</a></td>
    <td class="th">
         <a href="#" onclick="xajax_xgetProg('126','0','2')" title>Вт</a></td>
    <td class="th">
        <a href="#" onclick="xajax_xgetProg('126','0','3')" title>Ср</a></td>
  </tr>
 </table>

как мне сымитировать нажатие в браузере или получить новый адрес для станицы, как будто я кликнул ссылку, а это возможно???
Заранее спасибо за помощь!!!
Ответить с цитированием