Хотите только первое появление ребенка «определенного типа» среди других - PullRequest
0 голосов
/ 17 декабря 2018

У меня есть несколько элементов td с дочерней структурой, подобной этой:

 <div>         // 1st div
  <td>Value1</td>
 </div>
 <div>         // 2nd div
  <td>Value1</td>
  <td>Value2</td>
  <td>Value1</td>
 </div>
 <div>         // 3rd div
  <td>Value3</td>
  <td>Value1</td>
 </div>
 <div>         // 4th div
  <td>Value2</td>
  <td>Value3</td>
 </div>

Я хочу выбрать только 1 элемент td, который имеет Value1 на один элемент div.Если элемент div содержит 2 элемента td со значением 1, я хочу выбрать только 1.

Я прочитал этот первый дочерний элемент определенного типа и использовал first-of-type и nth-of-type (1), но они возвращают только те элементы div, у которых 1-й элемент td (или первый дочерний элемент) имеет Value1.

В приведенном выше HTML я хочу 3 элемента td (для div1, div2 и div3, поскольку все они содержат td с Value1 хотя бы один раз)

Использование div>td:first-of-type или div>td:nth-of-type(1),оба дают мне 2 тд элементов.Вероятно, он не обнаруживает того, кто находится в третьем div, потому что td со значением Value1 не является первым дочерним элементом.

...