Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Обращение к родительскому элементу (https://javascript.ru/forum/events/64262-obrashhenie-k-roditelskomu-ehlementu.html)

12345678 30.07.2016 14:58

Обращение к родительскому элементу
 
С javascript знаком очень поверхностно, поэтому прошу помощи.
Пробовал сделать на css, но если я правильно понял, то css не позволяет обращаться к родительским элементам =(

Разбираю сайт ЯП (yaplakal.com), на предмет скрытия рекламных топиков.
У сайта структура главной страница следующая:
1. Каждая новость состоит из 3-х идущих подряд <tr>, которые ничем не разделяются и идут на одном уровне
...
//начинается таблица .lenta
<tbody>
//1-я новость
<tr><td class="newshead" id="topic_1"></td></tr>
<tr><td class="postcolor news-content" id="news_1"></td></tr>
<tr><td class="holder newsbottom" valign="top"></tr>
//следующая тройка - 2-я новость
<tr><td class="newshead" id="topic_2"></td></tr>
<tr><td class="postcolor news-content" id="news_2"></td></tr>
<tr><td class="holder newsbottom" valign="top"></tr>
// и т.д.

2. Внутри 3-го <tr> следующая структура:
<tr>
<td class="holder newsbottom" valign="top">
       <b class="icon-user"></b>
       <b class="icon-forum"></b>
       <b class="icon-date"></b>
       <b class="icon-comments"></b>
       <b class="icon-link"></b>
</td>
</tr>


3. Элемент по которому можно фильтровать находится в .icon-user
<b class="icon-user">
       <a href="http://www.yaplakal.com/members/member1438.html">Administration</a>
</b>


Задача: cкрыть 1, 2 и 3 <tr> новости в которой в 3-м <tr> находится <a href="http://www.yaplakal.com/members/member1438.html">Administration</a>
<tbody>
<tr></tr>
<tr></tr>
<tr>
   <td class="holder newsbottom" valign="top">
      <b class="icon-user">
         <a href="http://www.yaplakal.com/members/member1438.html">Administration</a>
      </b>
   </td>
</tr>



P.S.
Есть еще один элемент по которому можно фильтровать. У рекламных новостей отсутствует оценка темы (целый div):
Код:

<tr> //Первая из трех
   <td>
      <div class="rating-short-value rating-green-short-bg" style="float: right;">
         <a href="http://www.yaplakal.com/forum7/topic1422993.html" title="Оценить тему!">245</a>
      </div>
   </td>
</tr>

Имя класса может меняться в зависимости от уровня темы: зеленая платиновая, красная и т.д.

рони 30.07.2016 16:22

12345678,
а зачем?
отсортировать все строки на наличие тега b и нужного текста поставить стиль none на эту строку и две выше -- весь алгоритм.

12345678 31.07.2016 00:41

Цитата:

Сообщение от рони (Сообщение 423830)
12345678,
а зачем?
отсортировать все строки на наличие тега b и нужного текста поставить стиль none на эту строку и две выше -- весь алгоритм.

Вы не поняли, тогда можно будет скрыть только 1\3 новости, причем не самую большую по контенту.
Надо кроме как "поставить стиль none на эту строку и две выше" еще две соседние "двум выше". Как это сделать?

warren buffet 31.07.2016 00:46

Я вообще ничего не понял. Когда не за что зацепиться, цепляешься к порядку элементов, поскольку он либо вообще не меняется, либо меняется по определенному паттерну заложенному в серверные коды.

Короче, убей всю эту таблицу с новостями и будешь спать спокойно.

Цитата:

valign="top"
Я плакалъ. )))

рони 31.07.2016 01:07

Цитата:

Сообщение от 12345678
Надо кроме как "поставить стиль none на эту строку и две выше" еще две соседние "двум выше".

не осилил ... но на всякий случай алгоритм вам дан рабочий

рони 31.07.2016 01:27

12345678,
пример работы после
скрипта и до

12345678 31.07.2016 11:56

Цитата:

Сообщение от рони (Сообщение 423885)
12345678,
пример работы после
скрипта и до

Тогда я совсем ничего не понимаю =(
Пошел копать.

Спасибо за наводку.


Часовой пояс GMT +3, время: 02:54.