2012-09-13 102 views
-4

之间[]我有HTML代码:选择内容

<div class="inside"> 
<h2>Some text</h2> 
Lorem Ipsum:<br /> 
    [423A18K5][R68A18K5]  
</div> 

<div class="inside2"> 
<h2>Some other text</h2> 
Lorem Ipsum:<br /> 
    [9903A1K5][P095GR31]  
</div> 

我需要做什么:我必须选择之间的所有代码[和]使用jQuery(并通过他们后来到阿贾克斯)。 注:而不是[]我可以使用一些其他符号,但我不能使用HTML标记。

你有什么要求吗?

+2

[你有什么尝试?](http://www.whathaveyoutried.com) –

+1

你可以使用正则表达式来做到这一点,检查这个:http://stackoverflow.com/questions/1454913/regular-expression-to -find-a-string-included-between-two-characters-while-exclude –

+2

为什么不只是用这个类名称输出span标签,让你轻松选择它们呢?如果您正在尝试使用jQuery AJAX类型的功能来构建某些东西,为什么不改变HTML源代码以使其更有效且更高效地工作,而不必使用正则表达式来整理文档的整个主体? –

回答

1

不知道您尝试从中获取数据的所有div是否具有公共类,或者它们是否都是唯一的,如您的示例中所示。你也给了一个非常具体的格式为上面的div的内容。 I.e .:

<div class="..."> ... [#s][#s]...</div> 

下面的代码假定你所抓取的格式是相同的。基本上它选择你想要的div,获取文本里面,然后删除前导或结束空格,在第一个'['之前放下任何东西,然后摆脱第一个[和最后],然后创建数组,分割'] [ ”。

var codes = $('.inside').text().trim().replace(/^[^\[]*/,'').replace(/^\[/,'').replace(/\]$/,'').split(']['); 

正则表达式可能会被清理一些,但它很简单,它的工作原理。