Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将字符串转换为HTML-字符串转换为;a href";要素_Javascript_Jquery_Html_Href - Fatal编程技术网

Javascript 将字符串转换为HTML-字符串转换为;a href";要素

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 /> 这将更新我对名册的看法:约翰、弗兰克、苏珊等。 但是,我现在尝试添加,”

您好,我在获取要添加到HTML页面的HTML链接时遇到一些问题。我试着四处寻找,但到目前为止没有任何效果

“我的页面”最初将加载一个代码段:

<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);