jQuery-将文本分隔为字符串
假设我的HTML如下所示:jQuery-将文本分隔为字符串,jquery,loops,Jquery,Loops,假设我的HTML如下所示: <p>12345, 23, 64229, 359</p> $("p").html(function(i, h) { return h.replace(/\d+/g, function(m) { return "http://www.example.com/?id=" + m; }); }); 12345,2364229359 此段落可以有数百个用逗号分隔的值。 它也可以是空的 我想把这些值变成链接。 第一个值应链接到“” “”的
<p>12345, 23, 64229, 359</p>
$("p").html(function(i, h) {
return h.replace(/\d+/g, function(m) { return "http://www.example.com/?id=" + m; });
});
12345,2364229359
此段落可以有数百个用逗号分隔的值。
它也可以是空的
我想把这些值变成链接。
第一个值应链接到“”
“”的第二个值
…等等
最好的方法是什么?试试看:
var nums=$('p').text().split(/\s*,\s*/);
var标签=“”;
$。每个(nums,函数(i,val){
标记+='
'
});
$('body')。追加(标记);
如果您担心内容的安全性,可以这样做:
var nums = $('p').text().split(/\s*,\s*/);
var tags = [];
$.each(nums,function(i,val) {
tags.push($('<a>',{text:val + ' ', href:'http://www.example.com/?id=' + val}));
});
$(tags).appendTo('body');
var nums=$('p').text().split(/\s*,\s*/);
var标签=[];
$。每个(nums,函数(i,val){
tags.push($('',{text:val+'',href:'http://www.example.com/?id=“+val}”);
});
$(标记).appendTo('body');
试试看:
var nums=$('p').text().split(/\s*,\s*/);
var标签=“”;
$。每个(nums,函数(i,val){
标记+='
'
});
$('body')。追加(标记);
如果您担心内容的安全性,可以这样做:
var nums = $('p').text().split(/\s*,\s*/);
var tags = [];
$.each(nums,function(i,val) {
tags.push($('<a>',{text:val + ' ', href:'http://www.example.com/?id=' + val}));
});
$(tags).appendTo('body');
var nums=$('p').text().split(/\s*,\s*/);
var标签=[];
$。每个(nums,函数(i,val){
tags.push($('',{text:val+'',href:'http://www.example.com/?id=“+val}”);
});
$(标记).appendTo('body');
您不需要jQuery,您可以用纯javascript来实现这一点:
vals = $('p').html().split(',');
for(var i in vals) {
tags += '<a href=http://www.example.com/?id=' + val + '>link</a><br>'
}
$('body').append(tags)
vals=$('p').html().split(',');
用于(var i中的var i){
标记+='
'
}
$('body')。附加(标记)
您不需要jQuery,您可以用纯javascript来实现这一点:
vals = $('p').html().split(',');
for(var i in vals) {
tags += '<a href=http://www.example.com/?id=' + val + '>link</a><br>'
}
$('body').append(tags)
vals=$('p').html().split(',');
用于(var i中的var i){
标记+='
'
}
$('body')。附加(标记)
您可以使用regex.replace()
,类似于:
<p>12345, 23, 64229, 359</p>
$("p").html(function(i, h) {
return h.replace(/\d+/g, function(m) { return "http://www.example.com/?id=" + m; });
});
,或使其成为可单击的链接:
$("p").html(function(i, h) {
return h.replace(/\d+/g, function(m) {
return "<a href='http://www.example.com/?id="+m+"'>"+m+"</a>";
});
});
$(“p”).html(函数(i,h){
返回h.replace(/\d+/g,函数(m){
返回“”;
});
});
.您可以使用regex
.replace()
,类似于:
<p>12345, 23, 64229, 359</p>
$("p").html(function(i, h) {
return h.replace(/\d+/g, function(m) { return "http://www.example.com/?id=" + m; });
});
,或使其成为可单击的链接:
$("p").html(function(i, h) {
return h.replace(/\d+/g, function(m) {
return "<a href='http://www.example.com/?id="+m+"'>"+m+"</a>";
});
});
$(“p”).html(函数(i,h){
返回h.replace(/\d+/g,函数(m){
返回“”;
});
});
.这并不难,但除了字符串附加之外,这主要是jQuery:)
for/in
在数组上不是一个好主意。您应该使用for
循环。这并不难,但除了字符串附加之外,这主要是jQuery:)for/in
在数组上不是一个好主意。您应该为循环使用。