在javascript中,我有一个类似
的数组 psi=["www.google.com","www.facebook.com","www.collegehumor.com"]
我想将其转换为格式化的字符串,如
var final=<a href="www.google.com" target="_blank">www.google.com</a></br>,<a href="www.facebook.com" target="_blank">www.facebook.com</a></br>,<a href="www.collegehumor.com" target="_blank">www.collegehumor.com</a></br>
所以我可以从服务器发送到像
这样的客户端//websockets, btw...
connection.send('Search Results'+t_name+'</br>Links'+final+'</br>');
它将只呈现工作链接。
像
这样的东西www.google.com
www.facebook.com
www.collegehumor.com
我知道有toString()
。但没有运气。我不能让它创建工作链接。
我尝试在for
中实现connection.send
,但Dreamweaver表示存在语法错误。这就是我尝试将数组转换为格式化字符串的原因。
有任何建议吗?
由于
答案 0 :(得分:2)
var psi=["www.google.com","www.facebook.com","www.collegehumor.com"]
var str = '';
for(var i in psi)
{
str += ',<a href="http://'+psi[i]+'" target="_blank">'+psi[i]+'</a><br>';
}
str = str.substr(1);
使用Zim84在上述评论中提到的string.link()
方法的替代版本:
var psi=["www.google.com","www.facebook.com","www.collegehumor.com"]
var str = '';
for(var i in psi)
{
var url = psi[i];
str += ','+url.link('http://'+url)+'<br>';
}
str = str.substr(1).replace('">','" target="_blank">');
答案 1 :(得分:1)
var final = "";
for (var i = 0; i < psi.length; i++)
{
var linkWithHttp = "http://" + psi[i];
final += "<a href=\"" + linkWithHttp + "\" target=\"_blank\">" + psi[i] + "</a><br />,";
}
// Remove the last "," if you added, at least, one element
if (psi.length > 0)
{
final = final.substring(0, final.length - 1);
}
// Now final is like what you want
// Send it using connection.send()
答案 2 :(得分:0)
如果你愿意使用jQuery,那就是小菜一碟:
var final = $.map(psi, function(link) {
return '<a href="' + link + '" target="_blank">' + link + '</a>';
}).join('<br />,');