2017-02-28 54 views
0

我想在我的文檔的JavaScript部分創建的命名文檔之外使用我的變量。像這樣:在JavaScript和HTML中使用相同的變量

<script> 
var Number = 1; 
var Number2 = 2; 
var Result = Number 1 + 2; 
</script> 

<p> Result </p> 

更準確地說,我想在表中使用我在腳本中創建的變量。像這樣:

<table class="tabelle"> 
    <tr> 
    <td><script> Result </script></td> 
    <td>Text</td> 
    <td>Text</td> 
    </tr> 
    <tr> 
    <td>Text</td> 
    <td>Text</td> 
    <td>Text</td> 
    </tr> 
</table> 

我試着通過在我的表中標記一個新的腳本區域,但這似乎不起作用。我希望你能得到我的問題的基本概念。

此外:我想我可能會在HTML和JavaScript中創建一些全局變量,但我不知道如何。

+0

一種方法是使用document.write(Result)。還有其他的方式,雖然 – mehulmpt

+0

這幾乎涵蓋了網絡編程的任何介紹。最簡單的方法是使用'element.textContent = Result;'將結果放入特定的元素中。 – 2017-02-28 17:44:33

+0

Number是一個內置的Javascript類型,你不想替換它 –

回答

0

Id'推薦這樣的東西。您可以使用innerHTML方法來設置任何選定元素的HTML。我給了這個單元一個ID,以便更容易地確定目標是什麼。

<body> 
 

 
<table class="tabelle"> 
 
    <tr> 
 
    <td id='result-cell'></td> 
 
    <td>Text</td> 
 
    <td>Text</td> 
 
    </tr> 
 
    <tr> 
 
    <td>Text</td> 
 
    <td>Text</td> 
 
    <td>Text</td> 
 
    </tr> 
 
</table> 
 

 
<script> 
 
var num1 = 1; 
 
var num2 = 2; 
 
var result = num1 + num2; 
 
document.getElementById('result-cell').innerHTML = '<p>' + result + '</p>'; 
 
</script> 
 

 
</body>

+0

這個腳本的工作基本上是完美的,但在我的情況下,當添加該行時,整個funktion停止工作:'code'document.getElementById('result- cell')。innerHTML ='

'+ result +'

';到代碼。這可能與我的變量「結果」是一個在加載腳本時發生變化的數字有關。 – AlcaTEC

+0

它應該工作,如果你記得給單元格的id,確保你的調用的結果var具有與定義的名稱相同的名稱,並且最後確保從td中刪除腳本標記。你不需要它們來更新。爲更新添加事件處理程序會更好。 –

0

您的HTML不承認Result作爲變量!假設Result只是文本,DOM將被渲染。

有兩種方法可以讓你的觀點來呈現變量:

  1. 在部分,包括Javascript才能進去修改DOM指令。這會是這個樣子:

...(your code)... resultElement = document.querySelector('p.result'); resultElement.innerHTML = result;

其中,選擇是你想寫的結果值。您的代碼給出了result的值。接下來的這些行會通過將它作爲文本插入到您喜歡的任何DOM元素中而將該值寫入DOM。

  1. 使用模板引擎,如Handlebars.js。這種方法是比較複雜的設置,但將讓你很自然地寫你的變量到使用支架模板:

腳本:var result = 'Howdy!'

模板:<p> {{result}} </p>

對於一個小項目,第一種方法可能是最合適的。