在JavaScript中创建链接,并将其集成到createTextNode()中

在JavaScript中创建链接,并将其集成到createTextNode()中,javascript,Javascript,我希望将链接集成到创建的文本节点中,但它只是作为文本(标题),而不是链接。我该如何解决这个问题 函数中的代码: function createMessage() { var a = document.createElement('a'); var linkText = document.createTextNode("http://www.example.com"); a.title = "http://www.example.com"; a.href = "http:/

我希望将链接集成到创建的文本节点中,但它只是作为文本(标题),而不是链接。我该如何解决这个问题

函数中的代码:

function createMessage() {
   var a = document.createElement('a');
   var linkText = document.createTextNode("http://www.example.com");
   a.title = "http://www.example.com";
   a.href = "http://www.example.com";
   var message2 = document.createElement("p");
   var message2text = document.createTextNode("Website: " + a + ".");
   message2.appendChild(message2text);
   var olElem = document.getElementById("display");
   var old = document.getElementById("display");
   var display = old.parentNode;
   return display.replaceChild(message2, olElem);
}
这里的问题是:

var message2text = document.createTextNode("Website: " + a + ".");
// ---------------------------------------------------^^^^^^^
您不能将DOM元素附加到字符串并获得有用的结果

很难弄清楚您试图在代码中做什么,但要创建包含链接的段落,最简单的方法是
innerHTML

var p = document.createElement('p');
p.innerHTML = 'Website: <a href="http://example.com" title="http://example.com">http://example.com</a>.';
…然后在需要的地方追加/插入。请注意,我们必须创建三个单独的文本节点:链接前的文本、链接内的文本和链接后的文本

var a = document.createElement('a');
a.href = "http://example.com";
a.title = "http://example.com";
a.appendChild(document.createTextNode("http://example.com"));
var p = document.createElement('p');
p.appendChild(document.createTextNode("Website: "));
p.appendChild(a);
p.appendChild(document.createTextNode("."));