2012-09-06 27 views
0

這可能是一個簡單的問題(或者我認爲是),但是,無論我多麼喜歡它,仍然無法使它工作。我正在嘗試在li標籤中寫入一個變量。這個變量應該持有另一div標籤中的文字像這樣:如何用getelementbyid在javascript中編寫變量

<script type="text/javascript"> 
var item = document.getElementById('thistext').innerHTML; 
        function songlist() { 
document.write("<div class='overview'><ul><li> item </li></ul></div>"); 
} 
</script> 


<div id="thistext">hello</div> 

<!-- I want it to appear here --> 
<div class="viewport"> 
<script type="text/javascript"> 
songlist(); 
</script> 
</div> 

所以基本上我需要內「thistext」 div標籤文本李標籤,它是內UL等國際範圍內出現。(我不知道如果那是不必要的信息或沒有),我也試着將視口標籤內,並與腳本及其功能:

document.getElementById("id").innerHTML = "value"; 

該佈局太多,但它似乎並沒有展示工作,我可以」 t似乎明白爲什麼。我期待着提前回復並感謝。

回答

4

將其更改爲

document.write("<div class='overview'><ul><li>" + item + "</li></ul></div>"); 
+1

不要嘗試在文檔中的加載之前閱讀的元素。 –

+0

啊,謝謝你的工作,但它似乎想出了「未定義」是因爲「本文」仍在加載視窗後加載? – iyop45

+0

將第一個腳本放在div下面。 (即使其成爲頁面上的最後一個東西) –

3
document.write("<div class='overview'><ul><li> item </li></ul></div>"); 

需求是

document.write('<div class="overview"><ul><li>' + item + ' </li></ul></div>'); 

編輯:

我覺得我應該指出,這是不實現的最佳途徑這個。也許這樣的事情會更好...

<script type="text/javascript"> 
    window.onload = function(){ 
     document.getElementById('viewport').innerHtml = document.getElementById('thistext').innerHtml; 
    }; 
</script> 

話說,你在jQuery框架看呢?它使DOM操作非常簡單。雖然有時間和地點。如果你所做的只是將<div>中的文本替換爲另一個<div>中的文本,那麼它可能不適用。

+0

嗯,我會研究,因爲我正在考慮貫穿我的網站這個想法。謝謝。但是,視口是一個類,而不是一個id,那麼「getelementbyid」仍然可以工作嗎? – iyop45

+0

哎呀抱歉,錯過了。 'getElementById'不適用於一個類。但是,使用jQuery可以使用'$('。viewport')'代替。你幾乎可以使用任何東西來獲取jQuery中的DOM元素:) – simonlchilds

0

是否這樣?

document.write("<div class='overview'><ul><li>" + item + "</li></ul></div>"); 
0

- 現在它的工作原理: 你缺少「」中的getElementById和德函數的DIV 後移動,你必須把變量與+「包圍」文件中+寫

的jsfiddle:http://jsfiddle.net/fMNWt/

<div id="thistext">hello</div> 
    <script type="text/javascript"> 
var item = document.getElementById('thistext').innerHTML; 
        function songlist() { 
document.write("<div class='overview'><ul><li>" + item + "</li></ul></div>"); 
} 
</script> 
<!-- I want it to appear here --> 
<div class="viewport"> 
<script type="text/javascript"> 
songlist(); 
</script> 
</div> 
相關問題