Показать сообщение отдельно
  #14 (permalink)  
Старый 24.03.2022, 07:22
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,080

Сообщение от Артист
Так там получается что находит только первую таблицу.
Если вы про это:
там не только эта строка!!! там ещё функция поиска ближайшей следующей таблицы, от этой.

<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  table {
    border-collapse: collapse;
  }
  table td{
    width: 100px; height: 100px;
    border: 1px solid #000000
  }
  .red{
      background-color: #FF0000;
  }

  </style>

</head>

<body>
<table >
    <tr>
        <td></td>
        <td></td>
    </tr>
    <tr>
        <td></td>
        <td></td>
    </tr>
</table>
<p>1111</p>
<table cellpadding=0 cellspacing=0 width="100%">
	<tr>
		<td width=60>
			<div class="cre_creature"  style="width:60px;">
				<img src="https://">
			</div>
		</td>

		<td width=60>
			<div class="cre_creature"  style="width:60px;">
				<img src="https://">
			</div>
		</td>
	</tr>
</table>

<p>1111</p>
<table>
       <tr>
        <td>next</td>
        <td></td>
    </tr>
    <tr>
        <td></td>
        <td></td>
    </tr>
</table>
<script>
  function findNextTable(table)
  {
     let next;
     return Array.from(document.querySelectorAll('table')).find(el => {
     if(next) return next;
     next = el == table;
     })
  }
  let table = document.querySelector('div.cre_creature').closest('table');//определили первую таблицу

  let NextTable = findNextTable(table); // нашли следующую за ней
  if(NextTable) {
      let tds = NextTable.querySelectorAll('td');
      tds.forEach(td => td.classList.add('red')) //покрасили все клетки в следующей таблице в красный цвет, для примера
  }
</script>
</body>
</html>
Ответить с цитированием