1

我有以下代码:

$('.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>

出于某种原因,当我单击添加项目符号时,它没有添加到文本区域,这意味着最接近的项目不起作用。我能做些什么?

4

2 回答 2

0

可能是“this”的范围界定问题。

你会想要在你的函数中传递 onclick 事件,比如

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

试试看。

于 2013-07-24T03:19:12.750 回答
0

这是父textarea级的下一个元素add-bullet

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

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

演示:小提琴

于 2013-07-24T03:24:15.997 回答