【问题标题】:select text and replace in for loop在 for 循环中选择文本并替换
【发布时间】:2016-07-05 21:03:48
【问题描述】:

我无法解决这个问题。我需要创建一个带有方形表情符号的网格。 11 个正方形和 68 行。我创造了那个。现在我的问题是针对特定行中的一个正方形和该行中的位置,并用不同的表情符号替换它。 .emoji-generator 类是一个 textarea 元素。我尝试附加它,这似乎可以解决问题。但我需要用不同的表情符号替换正方形,而不是将其添加到行中。每行只能有 11 个字符。解决这个问题的最佳方法是什么?

var SQUARE_EMOJI = '\u25FB\uFE0F ';
var DROPLET_EMOJI = '\ud83d\udca7';

function reset() {
    for (var i = 1; i<=68; i++) {
        for(var y = 0; y <11; y++) {
            $('.emoji-generator').append(SQUARE_EMOJI);
            if (i == 6 && y == 5 ) {
                $('.emoji-generator')[y].append(DROPLET_EMOJI);
            }
        }
        $('.emoji-generator').append('\r\n');
    }
};

【问题讨论】:

    标签: javascript jquery html css for-loop


    【解决方案1】:

    textarea 元素内容不被用于插入节点的append 方法操作。相反,您应该使用val 方法来设置其内容。为了提高性能,最好在函数结束时只执行一次:

    var SQUARE_EMOJI = '\u25FB\uFE0F ';
    var DROPLET_EMOJI = '\ud83d\udca7';
    
    function reset() {
        var content = '';
        for (var i = 1; i<=68; i++) {
            for(var y = 0; y <11; y++) {
                if (i == 6 && y == 5 ) {
                    content += DROPLET_EMOJI;
                } else {
                    content += SQUARE_EMOJI;
                }
            }
            content += '\n';
        }
        $('.emoji-generator').val(content);
    };
    

    【讨论】:

      猜你喜欢
      • 2014-05-24
      • 2022-01-14
      • 2011-09-22
      • 1970-01-01
      • 1970-01-01
      • 2019-04-04
      • 2018-08-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多