2015-12-24 4 views
3

Я хочу получить идентификатор предыдущего тега p.Получить идентификатор предыдущего тега

HTML:

<p class="getty" id="1" href="#">One</p> 
<div class="edit"> 
    <a>Two</a> 
    <a id="remove">Three</a> 
</div> 

JQuery:

$('#remove').click(function(e) { 
    e.preventDefault(); 
    var x = $(this).prev("p").attr('id'); 
    alert(x); 

}); 

Это не дает ничего в боевой готовности. Где я поступаю неправильно?

+1

'.prev()' получить непосредственно предшествующий ** _ _ ** родственного только – Venugopal

+0

использования 'родителя() пред ("р") Attr ('ID');.. ' – Thamilan

ответ

1

Пред только получить прямой предыдущий элемент на том же уровне, пожалуйста, проверьте ниже решение -

$('#remove').click(function(e) { 
 
    e.preventDefault(); 
 
    var x = $(this).parent().prev("p").attr('id'); 
 
    alert(x); 
 

 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<p class="getty" id="1" href="#">One</p> 
 
<div class="edit"> <a>Two</a> <a id="remove">Three</a> </div>

1

Вы можете использовать функцию .closest («р»), чтобы выбрать родительский тег р

$('#remove').click(function(e) { 
    e.preventDefault(); 
    var x = $(this).closest('p').attr('id'); 
    x.remove(); 

}); 
1

Если вы используете .prev(), он будет пытаться получить прямой предыдущий элемент a.

Вам необходимо перейти на .parent() из a, а затем использовать .prev().

var p = $(this).parent().prev("p").attr('id'); 
Смежные вопросы