Элементы .selectthis
не являются братьями и сестрами, поэтому, чтобы получить их индекс, связанный друг с другом, необходимо предоставить селектор для index()
, чтобы найти текущий элемент внутри, например. index('.selectthis')
Также обратите внимание, что индекс элемента начинается с нуля, поэтому третий элемент будет возвращать индекс 2
. Таким образом, вам нужно добавить один к значению, чтобы получить желаемый результат. Попробуйте это:
$('.selectthis > .wrapper > p').click(function() {
var getParentIndex = $(this).closest('.selectthis').index('.selectthis') + 1;
$('.result').text(getParentIndex);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div style="border: 1px solid green; margin: 10px;">
<div class="selectthis">
<div class="wrapper">
<p>
text1
</p>
</div>
</div>
<div class="selectthis">
<div class="wrapper">
<p>
text2
</p>
</div>
</div>
</div>
<div style="border: 1px solid blue; margin: 10px;">
<div class="selectthis">
<divc class="wrapper">
<p>
text3
</p>
</div>
</div>
<p class="result"></p>
</div>