2015-05-01 45 views
3

我試圖從陣列中拉了一些網址,並將其寫入到頁面<a> HTML元素的鏈接。格式的網址爲

正如你可以在下面的的jsfiddle看到,由於某些原因,href是被設置爲[對象文本]和網址被添加爲鏈接文本,這意味着他們不工作。我怎麼能這樣做,使得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

+0

這是的jsfiddle提供empty.Please你的代碼。 – Albzi

+0

正在處理它。 – podusmonens

+2

urlX.setAttribute('href',url [i]);你錯過了這個URL是一個TextNode對象。 –

回答

1

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

0

url被設置爲[對象文本]的原因是setAttribute將值轉換爲字符串。在你的代碼中,url是一個textNode,它在轉換爲字符串時序列化爲'[object Text]';

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

真的是沒有任何必要創建一個textNode的網址:

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

但後來我得到一個鏈接,看起來像這樣: Click herehttp://www.google.com podusmonens

+0

嗯..你能提供一個小提琴(jsfiddle.net)? – JosiahDaniels