我使用这个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>
答案 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>");
注意:正则表达式匹配中的第一个元素将是原始字符串。