2011-07-09 56 views
2

我正在嘗試使用Javascript來加載更多鏈接,請登錄my nav barjavascript noob ...文檔編寫

這就是我試過的;我只是想讓我的導航中的一個鏈接加載更多的鏈接。

<a href="" onclick="show()"/>collections</a> 
<script type="text/javascript"> 
function show() { 
    document.write("collection 1 <br /> collection 2 <br /> etc... <br />"); 
} 
</script> 

任何人都可以建議一個相關的教程或給我一個提示嗎?

+0

好的sou學習JavaScript:https://developer.mozilla.org/en/JavaScript/Guide –

+0

而問題是..? –

+0

它不工作:)鏈接只是閃爍了一個新的頁面與我原本想要放置在導航 – alsweet

回答

5

文件撰寫真的應該只在文檔加載時使用。在文檔加載後調用它將清除當前文檔並寫入一些新內容。要向頁面添加新內容,您需要創建新的DOM對象並將它們添加到頁面中或修改現有的DOM對象。

下面是修改網頁的一個小例子,你可以在行動在這裏看到:http://jsfiddle.net/jfriend00/zVS39/

HTML:

<a href="#" onclick="show()">collections</a> 
<span id="moreText"></span> 

的Javascript:

function show() { 
    var o = document.getElementById("moreText"); 
    o.innerHTML = "<br>collection 1 <br /> collection 2 <br /> etc... <br />"; 
} 
+0

啊完美的作品宏偉的感謝! 有一個問題,如何設計CSS中包含的innerHTML中的各個鏈接? 我很難得到的鏈接有任何樣式,他們似乎現在有自己的想法:)和懸停在一個正在改變他們所有人... innerHTML未放置在內嗎? 再次感謝,真的很感謝它 http://www.lelleny.co.uk/home – alsweet

+0

是的,它被放置在moreText範圍內。要單獨設置樣式,只需將您自己的HTML標籤或CSS類添加到您添加的HTML中即可。然後,您可以像使用CSS的HTML頁面的任何其他部分一樣控制樣式。用類ID或任何其他HTML標籤放入跨度。 – jfriend00

0

,你可以隨時使用的innerHTML功能。

document.getElementById('someelement').innerHTML = "collection 1</br>collection2 ..."; 

所以你的HTML看起來像:

<div id = "nav"></div> 
<div id = "someelement></div> 

所以,你想的是文本中插入下方的導航將在「somelement」彈出。你也可以修改css來做一個顯示/隱藏類型的技巧。

1

你沒有告訴我們你的問題是什麼。

但這是錯誤的:

<a href="" onclick="show()"/>collections</a> 

你已經做了你的a自閉,所以「集合」是不是和鏈接的一部分</a>孤立/無效。因此,當你點擊「集合」時,你的功能不會觸發。

寫:

<a href="" onclick="show()">collections</a> 
3

您可以使用innerHTML,或者如果你想更復雜的東西,你可以添加新的元素,例如:

HTML

<a href="" onclick="show()">collections</a> 
<div id="hidden"></div> 

的Javascript

function show() { 
var hidden= document.getElementById("hidden"), 
    newElem = document.createElement("div"); 

newElem.innerHTML = "<br>collection 1 <br /> collection 2 <br /> etc... <br />"; 
newElem.style.color = "red"; 
hidden.appendChild(newElem); 
}