将数组中的URL格式化为链接

时间:2015-05-01 11:40:47

标签: javascript

我正在尝试从数组中提取一些网址,并将其作为<a> HTML元素写入页面。

正如您在下面的jsfiddle中所看到的,由于某种原因,href被设置为[object text],并且URL被添加为链接文本,这意味着它们不起作用。我怎样才能使href成为我的数组中的URL,链接文本也是URL,或者像“click here”?

代码

    var title = document.createTextNode(titles[i]),
    author = document.createTextNode(authors[i]),
    url = document.createTextNode(urls[i]),
    titleX = document.createElement('h1'),
    authorX = document.createElement('h2'),
    urlX = document.createElement('a');
    urlX.setAttribute('href', url);

jsfiddle

2 个答案:

答案 0 :(得分:1)

使用 urlX.setAttribute('href', url.textContent);

答案 1 :(得分:0)

url设置为[object Text]的原因是setAttribute将值转换为字符串。在您的代码中url是一个textNode,在转换为字符串时会被序列化为&#39; [object Text]';

> String(document.createTextNode('testing'))
"[object Text]"

确实没有必要为url创建textNode:

var urlX = document.createElement('a');
urlX.setAttribute('href', urls[i]);
urlX.appendChild(document.createTextNode('Click here'));