Javascript:添加HTML到字符串-创建一个链接并将其添加到输出
Javascript: Add HTML to string - make a link and add it to output
新的javascript,我如何解决这个问题,我有?
我想添加一个标签到一个字符串变量,我正在使用一个函数创建。
整个信息(例如-"你的导师是JOHN DOE。在这里联系他们:Contact FORM")通过另一个函数(可以工作)添加到DOM中。
当我运行脚本时,它输出到浏览器,但第二部分(makeLink())不工作。
这是我得到的:"你的导师是JOHN DOE。联系他们在这里http://www.example.com" -而不是URL我想字 Contact FORM这应该是一个链接。
我该怎么做?
我尝试使用link()方法,也不起作用,输出类似。
我将只包括下面的相关脚本,其余的工作很好…
function makeMessage(){
for(i in msgArr){
stringMSG += msgArr[i];
//do not add a comma after last item
if(i < msgArr.length - 1){
stringMSG += ', ';
}
}
var highRiskmsg = "Your tutor is " + stringMSG + ". Contact them here" + makeLink();
return highRiskmsg;
}
function makeLink() {
var contactLink = document.createElement("a");//create <a> tag
contactLink.setAttribute("id", "linkC");//set id att for <a> tag
contactLink.setAttribute("href", "http://www.example.com/contact.php");//set id att for <a> tag
var contactLinkTxt = document.createTextNode("CONTACT FORM");//new text node
contactLink.appendChild(contactLinkTxt);//append text as child of <a> tag
return contactLink;
}
似乎问题是您正在从makeLink()
函数返回DOM元素,并且这不会与您期望的字符串连接。
<a id=".." href="..">..</a>
修复代码的最快方法是更改makeLink()
函数的返回值,如下所示:
return contactLink.outerHTML;
使用outerHTML
将返回元素的HTML字符串,而不是元素本身。
下面是一个工作示例
作为musefan的答案的替代方案,您可以返回一个元素,其中包含消息和链接作为节点,而不是文本。
function makeMessage(){
var highRiskmsg = "Your tutor is " + msgArr.join(',') + ". Contact them here";
var span = document.createElement('span');
span.appendChild(document.createTextNode(highRiskmsg));
span.appendChild(makeLink());
return span;
}
小提琴
相关文章:
- 如何在Angular中的表的所有单元格中添加链接
- 如何使用 HTML/JavaScript 为对象添加链接
- 如何在滑块图像上添加链接
- HTML::向输入标记添加链接
- 正在向库图像添加链接
- 在旋转javascript横幅中添加链接
- 向每个堆叠条形图项目添加链接
- 根据课程自定义字段在课程页面上添加链接
- 如何使用java脚本添加链接
- 如何在D3元素中添加链接
- 如果满足条件,则使用JQuery向元素添加链接
- 当屏幕尺寸较小时,可使用Javascript向移动菜单添加链接.不再有效
- javascript下拉列表-无法添加链接
- Ext JS Gannt 在任务之间添加链接
- 添加链接时 JQuery 停止工作
- Javascript 在添加表行时添加链接文本
- 如何在 d3.js 行添加链接名称
- Umbraco 将从第 @nodename 页添加链接作为表单上的文本输入值
- 在jQuery插件中添加链接的方法
- 在可折叠内容标头(拆分链接)中添加链接 - 缺少 css