2017-01-09 46 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()功能,在這種情況下,選擇的ispan元素。使用後.next()因爲span.textContent是同級預先用closest選擇的元素,

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

而且使用e.preventDefault是毫無意義的在這裏,你在一個i標籤綁定的事件,因爲它不具有任何內置功能與它。