选择文本并替换for循环

时间:2016-07-05 21:03:49

标签: javascript jquery html css for-loop

我无法解决这个问题。我需要用方形表情符号创建一个网格。横跨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');
    }
};

1 个答案:

答案 0 :(得分:2)

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);
};
相关问题