2017-01-09 3 views
4

Борясь с селектором Jquery, чтобы выбратьВыбор следующего Промежуток с Classname с JQuery селектор

<span class='textContent'> 

при нажатии 'edit_click' класс. Любая помощь будет высоко оценен.

<span> 
    <i class='fa fa-pencil edit_click'></i> 
</span> 
<span class='textContent'>Hello</span> 

Javascript обработчик событий

$('.edit_click').click(function (e) { 
    $(this).next('span.textContent').attr('contenteditable', 'true'); 
    e.preventDefault(); 
}); 

ответ

6

Вы должны использовать .parent(), чтобы получить ссылку на родитель span, то .next() может быть использовано на span немедленно предназначаться следующим собратом.

$(this).parent().next('span.textContent') 
+0

Братство или родитель? ;) –

+0

@ GôTô, родственный брат – Satpal

+2

вы имеете в виду * дядя * то? –

4

Попробуйте использовать функцию closest() в этом контексте, чтобы выбрать родительский span элемент i. После этого использования .next() поскольку span.textContent является родственный к элементу, который ранее был выбран с closest,

$('.edit_click').click(function (e) { 
    $(this).closest('span').next(".textContent").attr('contenteditable', 'true'); 
}); 

И использование e.preventDefault бессмысленно здесь, как вы связанное событие злоумышленником i тега, так как он не имеет каких-либо встроенных в функциональность с ним.

Смежные вопросы