作者:无为小妮子_373 | 来源:互联网 | 2023-05-17 09:26
HTML (contenteditable div)
int main(){
if( (x>1) && (x<10) )
statement;
}
我在行中使用了xloop,在每行中使用了yloop。
1.)我怎么能得到第二个(
(xloop:1 yloop:7)w / c的span class
是bm2
?
2.)我如何获得span
的BETWEEN bm2
,我将在每个循环中并将跨度的文本存储在数组中
JS
for( var x=0; x div ').size(); x++ ){ var inlineDiv_num_text = $('#board > div ').eq(x).text(); for( var y=0; y div ').eq(x).text().length; y++){ kword_search = kword_search + inlineDiv_num_text.charAt(y); // i will detect the target paren here if(/(if|while|for)s*($/.test(kword_search)){ //know w/c span the ( belongs to //get the bm span inside of it } } }
目标:将bm
分组存储在数组中
array[0] = ( (x>1) && (x1) array[2] = (x<10)
我相信这可以回答你的第一个和第二个问题。
它为您提供了“bm2”类的“openParen”和“closeParen”内的跨度,并将文本存储在数组中。 (这只捕获括号,因为只有括号位于跨距内。)
var open = $('span[class="openParen bm2"]') var spans = open.nextUntil('span[class="closeParen bm2"]') var inside = [] $.each(spans, function(i, span){ inside.push($(span).html()) }) alert(inside.join('-'))
示例: jsFiddle
编辑
不知道你将如何做“跨度标签之间”,我首先得到父div元素的html,并使用正则表达式传递跨度:
var allcOntent= $('span[class="openParen bm2"]').parent().html() var betweenSpan = allcontent.split(/[^<]*|[^<]*/)[1] var valuesArray = betweenSpan.split(/<[^>]*>/)
给你js数组:
[" ", "(", "x>1", ")", " && ", "(", "x<10", ")", " "]
示例: jsFiddle
绝对不漂亮。
更好的解决方案是重新考虑html标签的结构(即将要捕获的值放在某些标签内!)
无论如何,这就够了,我会把它留给你。
需要了解更多jQuery教程分享我如何获得文本所属的span类ID?,都可以关注jQuery技术分享栏目—编程笔记
以上就是jQuery教程分享我如何获得文本所属的span类ID?相关内容,想了解更多jQuery开发(异常处理)及jQuery教程关注(编程笔记)。