2013-07-24 52 views
1

我有以下代碼:添加子彈jQuery的 - 最接近Jquery的

$('.add-bullet').click(function() { 
    $(this).closest('textarea').val(
    $(this).closest('textarea').val() + '\u2022' 
); 

    return false; 
}); 


    <div><a href = "#" class = "add-bullet">Add bullet</a></div> 
    <textarea name =""></textarea> 

出於某種原因,當我點擊添加子彈,它不會增加textarea的,意思最接近的是行不通的。我能做什麼?

+2

分享您的HTML也是,因爲沒有它我們將無法找到'add-bullet'和textarea之間的關係。任何方式,我不認爲'最接近'會在這裏工作,因爲'add-bullet'可能不是textarea的孩子 –

+0

您可能正在尋找'.next()'或'.prev()' –

回答

0

可能是「this」的範圍問題。

,你會想通過onclick事件在你的功能,如

$('.add-bullet').click(function(e) { 
    $(e.target).closest('textarea').val(
    $(e.target).closest('textarea').val() + '\u2022' 
); 
    return false; 
}); 

嘗試。

+0

我不這麼想是因爲它看起來不像'add-bullet'是一個textarea的孩子 –

0

這裏textarea

所以你需要使用.parent().next()

$('.add-bullet').click(function() { 
    $(this).parent().next('textarea').val(function(idx, value){ 
     return value + '\u2022'; 
    }); 
    return false; 
}); 

演示了add-bullet的父的下一個元素:Fiddle