Как найти родительский элемент перед элементом с классом или идентификатором - PullRequest
0 голосов
/ 25 сентября 2019

Я не могу найти предыдущий элемент с атрибутами id, которые являются родительскими.в моем случае элемент <p> равен <tr>

$(document).on('click', '#c', function(){
   parent = $(this).prev('p#p').text()
   console.log(parent)
})
#c {
  padding-left: 30px;
    cursor:pointer;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<p id="p">parent 1</p>
<p id="c">child 1</p>
<p id="c">child 2</p> 
<p id="c">child 3</p>
<p id="p">parent 2</p>
<p id="c">child 1</p>
<p id="c">child 2</p> 
<p id="c">child 3</p>

1 Ответ

0 голосов
/ 25 сентября 2019

Прежде всего, вы не можете иметь один и тот же идентификатор для нескольких элементов.Идентификатор каждого элемента должен быть уникальным.Таким образом, вы можете вместо этого использовать классы.Ниже приведен фрагмент, который служит цели.

$(document).on('click', '.c', function() {
  parent = $(this).prevAll('p.p:first').text();
  console.log(parent)
});
.c {
  padding-left: 30px;
  cursor: pointer;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<p class="p">parent 1</p>
<p class="c">child 1</p>
<p class="c">child 2</p>
<p class="c">child 3</p>
<p class="p">parent 2</p>
<p class="c">child 1</p>
<p class="c">child 2</p>
<p class="c">child 3</p>

Надеюсь, это поможет:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...