如何使用循环从元素内的文本中获取每个字符
How to get every char from a text inside an element using a loop
*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"。我将使用我得到的字符来与intellisense之类的东西进行比较。
注意我的2 for循环结构不应该被妥协,我需要这个结构来解决
检查这个小提琴。
它将使用substr
函数逐个给出警报中的所有字符。
EDIT:您也可以使用alert(inlineDiv_num_text.charAt(y));
函数,而不是ElisianPetrini提到的substr
。
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
尝试
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))
}
})
演示:Fiddle
我的结构会有所不同。
$("#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/
相关文章:
- RegEx只获取特殊字符,前后不获取任何字符
- 获取特殊字符后没有单词的句子
- 如何从键Code;中获取字符串/字符值;
- javascript获取字符前的字符串
- 忽略任何非小写字符(如数字、大写字母和符号)并获取k的值
- 如何在 JavaScript 中获取非重复字符及其计数
- 从文件中字符的索引中获取行号
- 如何使用jQuery获取url的最后两个字符
- Javascript-使用Regex获取两个字符之间的字符
- jquery获取字符限制
- 获取字符后的数字值
- 如何在 JavaScript 中获取字符的 ASCII 值
- 如何在 iframe 中获取字符偏移量
- 如果使用 SHIFT 如何获取字符代码
- 如何获取字符范围
- Regex获取字符和空白之间的字符串,并排除第一个分隔符
- Unicode:如何获取字符的所有码点,例如ã(所以它可以在JavaScript正则表达式中使用)
- JavaScript:尝试获取字符宽度并进行比较
- 如果有'空格,则获取字符后的所有字符串
- 在keyup上的文本区获取字符