嗯,解决方案很明显
更换即可
$("#teamRoster").text(rosterListings);
与:
$("#teamRoster").html(rosterListings);
因为如果你将它用作文本,那么它会将其视为文本,如果你编写 html,那么它将将其视为 html
.text()
,它会将 only 文本插入 span
,如here所示。
.html()
。
所以,试试这个:
$("#teamRoster").html(rosterListings);
另请注意,您设置
for
循环的方式会导致在列表末尾放置一个额外的逗号;我通过检查它是否是最后一个元素来修复了here:
if (i !== teamRoster.length - 1) {
rosterListings = rosterListings + " <a href='" + idList[i] + "'>" + teamRoster[i] + "</a>,";
} else {
rosterListings = rosterListings + " and <a href='" + idList[i] + "'>" + teamRoster[i] + "</a>.";
}
正如 Just code 所指出的,您想要使用
html
方法,而不是 text
方法。 html()
是 jQuery 的 innerHTML
包装器,它将字符串作为 html 注入。
这是一个 jsFiddle 显示差异:
$("#teamRosterHtml").html("<a href='#'>John</a> <a href='#'>Frank</a>");
$("#teamRosterText").text("<a href='#'>John</a> <a href='#'>Frank</a>");