【问题标题】:Prepend to all rows of textarea前置到所有文本区域行
【发布时间】:2013-03-31 06:57:06
【问题描述】:

我在页面中有这个小文本区域,我希望在每一行前面加上“>>”。

我认为它可能很简单:

   $("#mytextarea").prepend("EvilHacker001>>");

但这并没有做任何事情。我环顾四周,找不到与 textarea 相关的 foreach('line') 之类的东西。

有没有简单的方法来做到这一点?谢谢。

【问题讨论】:

    标签: jquery html css textarea prepend


    【解决方案1】:

    对于每一行:

    $('textarea').val(function(_, value){
       var arr = value.split('\n');
       for (var i = 0; i < arr.length; i++) 
            arr[i] = "EvilHacker001>>" + arr[i];
       return arr.join('\n');     
    });
    

    http://jsfiddle.net/DpQS4/

    对于每个值:

    $('textarea').val(function(_, value){
       return "EvilHacker001>>" + value;
    });
    

    更新

    $('textarea').keyup(function (e) {
        if (e.which == 13) {
            $(this).val(function (i, value) {
                return value + '>>';
            })
        }
    });
    

    http://jsfiddle.net/hBcHS/

    或者:

    $('textarea').keyup(function (e) {
        $(this).val(function (i, value) {
            return value.replace(/\n(?!>)/g, '\n>>');
        })
    })
    

    【讨论】:

    • 抱歉,我没有很好地解释它。我想在每个换行符前面加上。文本区域中没有任何内容......用户会这样做。我只是想给它一种终端的感觉。
    • 是的,keyup 功能就像一个魅力。如果我想说....更改前置文本的颜色,我可以同时这样做还是应该在之后这样做?如果我在应用前置文本的同时这样做,我会想,因为文本在 DOM 中并不完全存在。
    • 第一行不加前置,使用'&gt;&gt;' + value.replace(/\n(?!&gt;)/g, '\n&gt;&gt;');加前置。
    【解决方案2】:

    prepend() 将指定的标记添加到 jQuery 选择器返回的对象(在本例中为 textarea)。 textarea 只能包含文本,不能包含其他子元素;因此,您正在尝试创建无效的 html。

    如果您想在文本区域中添加新文本:

    $('#mytextarea').val(
        function(i,val){
            return 'EvilHacker001>> ' + val;
        });
    

    【讨论】:

      【解决方案3】:

      你可以试试这个:

       $('#myTextarea').val(function(i, value){
         return value.split('\n').join('\nEvilHacker001>>');     
       });
      

      你必须得到换行符\n,然后拆分并加入\nEvilHacker001&gt;&gt;

      Get in the Fiddle here

      【讨论】:

        猜你喜欢
        • 2011-03-22
        • 2012-02-09
        • 2011-08-13
        • 1970-01-01
        • 2017-12-04
        • 2013-08-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多