【问题标题】:Add text to textarea - Jquery将文本添加到 textarea - Jquery
【发布时间】:2011-10-26 21:30:14
【问题描述】:

如何将 DIV 中的文本添加到文本区域?

我现在有这个:

    $('.oquote').click(function() { 
      $('#replyBox').slideDown('slow', function() {
      var quote = $('.container').text();   
         $('#replyBox').val($('#replyBox').val()+quote);   
        // Animation complete.
      });    
    });

【问题讨论】:

    标签: jquery text html add


    【解决方案1】:

    只需append()文本节点:

    $('#replyBox').append(quote); 
    

    http://jsfiddle.net/nQErc/

    【讨论】:

    • 这不会将文本添加到文本区域中,而是添加到文本区域之外。
    • 不,它没有:) 查看代码并检查元素。你可能会想到after()
    • 使用 .val() 而不是 .append() 否则你会遇到问题。
    • @ermenkoff 非常正确。我遇到过.append() 有效的案例,还有其他一些案例,因为没有明显的原因,它被简单地忽略了。 Felix Kling 使用.val() 的答案是稳定的,应该首选!
    • append() 仅在您未更改 textarea 的内容之前(例如通过键入)才有效!!
    【解决方案2】:

    应该可以。最好将函数传递给val

    $('#replyBox').val(function(i, text) {
        return text + quote;
    });
    

    这样可以避免搜索元素并调用val 两次。

    【讨论】:

    • @AlienWebguy:比$('#replyBox').val($('#replyBox').val()+quote); 更好,因为它不搜索元素并调用val 两次。
    猜你喜欢
    • 2011-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-29
    • 1970-01-01
    • 2016-08-04
    相关资源
    最近更新 更多