jQuery在括号之间获取文本

时间:2014-09-12 15:44:51

标签: jquery

我使用这个jQuery代码从div

中的文本中获取var值
$('div').each(function() {
  var a = $(this).html();
  var b = a.split('/');
  $(this).html("<span>" + b[0] + "</span><span>" + b[1] + "</span><span>" + b[2] + "</span>");
  var c = $(this).text();
  var d = $(this).find("span").eq(0).text();
  var e = $(this).find("span").eq(1).text();
  var f = $(this).find("span").eq(2).text();
});

因此HTML将采用这种形式

<div>Text1/Text2/Text3</div>

我想更改我的jQuery代码以在括号之间获取文本而不是&#34; /&#34;

<div>[Text1][Text2][Text3]</div>

1 个答案:

答案 0 :(得分:1)

最优雅的方法是使用正则表达式来解析文本字符串,如下所示:

var text = a.match(/\[(.*)\]{1}\[(.*)\]{1}\[(.*)\]{1}/);

然后将每个文字字符串text[1]text[2]text[3]插入您想要的位置。

所以在你的例子中:

var b = a.match(/\[(.*)\]{1}\[(.*)\]{1}\[(.*)\]{1}/);
$(this).html("<span>" + b[1] + "</span><span>" + b[2] + "</span><span>" + b[3] + "</span>");

注意:正则表达式匹配中的第一个元素将是原始字符串。