Javascript:如何在字符串变量中包含url?

时间:2015-07-14 21:00:34

标签: javascript string

这个javascript的新东西。这真让我抓狂!

如何在字符串变量中添加URL?

这就是我所拥有的:

function getRiskMessage(){

    var msg = " visit our advice website at <a href=\'http://www.example.com\'>this site</a>";

    if(totalRiskScore > 25){
        //this message (High Risk)

        msg2  = show();


    }//close if

    return msg;

}

但是当我将它输出到div而不是链接时,这个链接就会被输出。 - 我得到一个标签和网址就像上面的字符串一样。

我做错了什么,需要了解这一点。

3 个答案:

答案 0 :(得分:2)

tl; dr您正在使用createTextNode,它会创建一个纯文本节点。不要这样做:)改为使用innerHTML属性。有关详细信息,请参阅下文。

除非它们类似于开头和结尾引号,否则不需要转义引号:

var foo = "Visit <a href='http://bing.com'>Bing</a>.";

在上面,字符串以双引号开头和结尾,因此单引号可以毫无问题地使用。

var foo = "Visit <a href=\"http://bing.com\">Bing</a>.";

在上面,我们在字符串周围和[href]属性周围使用双引号。因此,必须对内部引号(属性周围)进行转义,这样它们就不会混淆解析器。

最后,输出时,请务必输出为HTML:

div.textContent = foo; // Represents foo as plain text
div.innerHTML = foo; // Interprets foo as HTML
div.appendChild( document.createTextNode( foo ) ); // Similar to textContent
div.appendChild( document.createElement( "span" ) ).innerHTML = foo; // HTML

实施例

document.querySelector( ".msg" ).innerHTML = "Visit <a href='http://bing.com'>Bing</a>.";
<div class="msg"></div>

答案 1 :(得分:1)

这是关于如何使用普通javascript插入html的基本示例:

document.getElementById('your-div').innerHTML = msg

以下是您案例的小提琴:demo

答案 2 :(得分:1)

你的意思:

var msg = document.createElement('span');
msg.innerHTML = " visit our advice website at <a href=\'http://www.example.com\'>this site</a>"
container.appendChild(msg);

工作演示:FIDDLE