获取并评估元素内的每个字符以进行大括号匹配

时间:2013-07-28 08:16:20

标签: javascript

<div id = "board>
    <div>{abc</div>
    <div>def</div>
    <div>ghi}</div>
</div>

我想比较div 中位置内的每个字符,并在找到 {}

时执行某些操作

我知道这可以通过包装<span></span>

中的每个字符来实现

有没有办法在不使用跨度的情况下执行此操作?我将使用它来进行代码编辑器项目的大括号匹配。这就是我用span包装做的事情,但它太慢了..

$exceedingInlineDiv = $('#board_code_dup > div').eq(x);
if( $exceedingInlineDiv.text() == ''){
    var chars = '<span> <br> </span>';
    $exceedingInlineDiv.html(chars);
}

else{
    var chars = jQuery.map($exceedingInlineDiv.text().split(''), function(c) {
        return '<span>' + c + '</span>';
    });
    $exceedingInlineDiv.html(chars.join(''));
}//else

1 个答案:

答案 0 :(得分:1)

我不确定你想做什么,但也许你想要这样的事情:

var board = document.getElementById("board"),
    divs = board.getElementsByTagName("div"),
    texts = [], i = 0;

for (; i < divs.length; i++)
    texts.push(divs[i].innerHTML);

// texts => ["{abc", "def", "ghi}"]