Javascript 将字符串转换为HTML-字符串转换为;a href";要素
您好,我在获取要添加到HTML页面的HTML链接时遇到一些问题。我试着四处寻找,但到目前为止没有任何效果 “我的页面”最初将加载一个代码段:Javascript 将字符串转换为HTML-字符串转换为;a href";要素,javascript,jquery,html,href,Javascript,Jquery,Html,Href,您好,我在获取要添加到HTML页面的HTML链接时遇到一些问题。我试着四处寻找,但到目前为止没有任何效果 “我的页面”最初将加载一个代码段: <div style="display: inline-block; color: rgb(0, 255, 144)">Roster: </div> <span id="teamRoster"></span> <br /> 这将更新我对名册的看法:约翰、弗兰克、苏珊等。 但是,我现在尝试添加,”
<div style="display: inline-block; color: rgb(0, 255, 144)">Roster: </div>
<span id="teamRoster"></span>
<br />
这将更新我对名册的看法:约翰、弗兰克、苏珊等。
但是,我现在尝试添加,”;
}
$(“#团队名册”).text(名册列表);
显示为
花名册:,等..
我理解为什么会发生这种情况,因为我正在设置实际的文本/字符串,但有没有办法将此字符串转换为HTML元素?我尝试了一些从谷歌上找到的$.parseHTML
代码片段,但我一定是实现错了(
感谢您的帮助!正如code所指出的,您希望使用
html
方法,而不是text
方法。html()
是jQuery对innerHTML
的包装,它将字符串作为html注入
下面是一个JSFIDLE,显示了不同之处:
$(“#teamRosterHtml”).html(“”);
$(“#teamRosterText”).text(“”);
问题在于您正在使用,这将只在span
中插入文本,如图所示
如果希望插入的内容实际呈现为HTML,则需要使用
那么,试试这个:
$("#teamRoster").html(rosterListings);
还要注意,设置for
循环的方式会导致在列表末尾添加一个逗号;我通过检查它是否是最后一个元素来解决这个问题:
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>.";
}
if(i!==teamfloster.length-1){
排班名单=排班名单+“,”;
}否则{
名册列表=名册列表+“和。”;
}
好吧,解决办法是显而易见的
替换
$("#teamRoster").text(rosterListings);
与:
因为如果您将其作为文本使用,那么它会将其视为文本,如果您编写html,那么它会将其视为html替换为
$(“#团队名册”).text(名册列表);
替换为$(“#团队名册”).html(名册列表)
@Justcode你应该加上它作为答案。@Justcode谢谢!我不知道它这么简单!如果你加上它作为答案,我会标记它!好的,我加上它作为答案
$("#teamRoster").html(rosterListings);
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>.";
}
$("#teamRoster").text(rosterListings);
$("#teamRoster").html(rosterListings);