0

*HTML

<div id="board_code" contenteditable="true">
    <div>a b</div>
    <div>cd</div>
</div>

*JS

var inlineDiv_num = $('#board_code > div ').size();
for( var x=0; x<inlineDiv_num; x++ ){
  var inlineDiv_num_textL = $('#board_code > div ').eq(x).text().length;
  for( var y=0; y<inlineDiv_num_textL; y++){    
        //PROBLEM HERE                  
        alert(  $('#board_code > div ').eq(x).eq(y).text() );
  }//for y
}//for x

我期望第一个警报是'a',第二个是'',第三个是'c',第四个是'd'。我将使用我得到的字符与诸如智能感知之类的东西进行比较。

注意 我的 2 for 循环结构不应该受到影响,我需要这个结构来解决后面的问题

4

3 回答 3

0

检查这个小提琴。

substr它将使用该功能将警报中的所有字符一一给出。

编辑:您也可以使用该alert(inlineDiv_num_text.charAt(y));功能,而不是substrElisianoPetrini 提到的。

var inlineDiv_num = $('#board_code > div ').size();
for (var x = 0; x < inlineDiv_num; x++) {
    var inlineDiv_num_textL = $('#board_code > div ').eq(x).text().length;
    var inlineDiv_num_text = $('#board_code > div ').eq(x).text();
    for (var y = 0; y < inlineDiv_num_textL; y++) {          
        alert(inlineDiv_num_text.substr(y, 1)); //modified this
    } //for y
} //for x
于 2013-08-08T10:47:05.733 回答
0

尝试

var $ct = $('#board_code');

$ct.children('div').each(function(idx, div){
    var text = $(this).text();

    for(var i = 0; i < text.length; i++){
        console.log(text.charAt(i))
    }    
})

演示:小提琴

于 2013-08-08T10:48:01.533 回答
0

我会有点不同的结构。

$("#board_code > div").each( function(idx) {
    var s=$(this).text()
    for(i=0;i<s.length;i++){
        alert("'"+s.charAt(i)+"'")
    }
})

你可以在这里找到它:http: //jsfiddle.net/bjzDf/

于 2013-08-08T10:48:35.820 回答