Как скрыть тег html таблицы по itemprop

107
20 апреля 2021, 17:10

Как можно скрыть первую строку в таблице, если таблица для товара создается автоматически в админке. Пробовал через js (сам новичок в этом), нашел способ по id и классу, но id тут прописать не могу, а по классу скрывается вся таблица с помощью display:none;

<table> 
  <tbody> 
    <tr> 
      <td class="name">Рекомендуем</td> 
      <td class="value" itemprop="rekomenduem" style="opacity: 1;">Показать все</td> 
    </tr> 
    <tr> 
      <td class="name">Бренд</td> 
      <td class="value" itemprop="proizvoditel1" style="opacity: 1;">Гефест</td> 
    </tr> 
    <tr> 
      <td class="name">Грузоподъемность, кг</td> 
      <td class="value" itemprop="gruzopodemnost" style="opacity: 1;">1500</td> 
    </tr> 
  </tbody> 
</table>

Answer 1

const reference = document.querySelector('td[itemprop="rekomenduem"]'); 
reference.parentNode.style.display = 'none';
<table> 
  <tbody> 
    <tr> 
      <td class="name"> Рекомендуем</td> 
      <td class="value" itemprop="rekomenduem" style="opacity: 1;">Показать все</td> 
    </tr> 
    <tr> 
      <td class="name"> Бренд</td> 
      <td class="value" itemprop="proizvoditel1" style="opacity: 1;">Гефест</td> 
    </tr> 
    <tr> 
      <td class="name">Грузоподъемность, кг</td> 
      <td class="value" itemprop="gruzopodemnost" style="opacity: 1;">1500</td> 
    </tr> 
  </tbody> 
</table>

Либо по тексту

const references = document.querySelectorAll('td.name'); 
 
references.forEach((reference) => { 
  if(reference.textContent === ' Рекомендуем'){ 
    reference.parentNode.style.display = 'none'; 
  } 
});
<table> 
  <tbody> 
    <tr> 
      <td class="name"> Рекомендуем</td> 
      <td class="value" itemprop="rekomenduem" style="opacity: 1;">Показать все</td> 
    </tr> 
    <tr> 
      <td class="name"> Бренд</td> 
      <td class="value" itemprop="proizvoditel1" style="opacity: 1;">Гефест</td> 
    </tr> 
    <tr> 
      <td class="name">Грузоподъемность, кг</td> 
      <td class="value" itemprop="gruzopodemnost" style="opacity: 1;">1500</td> 
    </tr> 
  </tbody> 
</table>

Answer 2

Наверное Вам подойдет селектор первого элемента :first-child :

tr:first-child { 
 display:none 
}
<table> 
  <tbody> 
    <tr> 
      <td class="name"> Рекомендуем</td> 
      <td class="value" itemprop="rekomenduem" style="opacity: 1;">Показать все</td> 
    </tr> 
    <tr> 
      <td class="name"> Бренд</td> 
      <td class="value" itemprop="proizvoditel1" style="opacity: 1;">Гефест</td> 
    </tr> 
    <tr> 
      <td class="name">Грузоподъемность, кг</td> 
      <td class="value" itemprop="gruzopodemnost" style="opacity: 1;">1500</td> 
    </tr> 
  </tbody> 
</table>

READ ALSO
Как проверить открыто ли окно в WPF?

Как проверить открыто ли окно в WPF?

Как проверить открыто ли окно в WPF? Когда окно открыто, то при нажатии на кнопу открывается новое окноКак предотвратить это?

122
Как сохранить данные в txt datagridview c каждой TabPages

Как сохранить данные в txt datagridview c каждой TabPages

Есть программа имеющая 16 одинаковых вкладок с разным содержанием DatagridView(их тоже 16шт) на каждой из них

116
Как работать с ConfigurationManager без App.config?

Как работать с ConfigurationManager без App.config?

Дело в том, что для библиотеки SQLiteCodeFirst нужен файл конфигурации App

112
Многопоточное добавление в БД mysql

Многопоточное добавление в БД mysql

Есть приложение C#, есть база данных mysql, используется DapperПриложение в несколько потоков добавляет записи в БД таким способом:

99