2017-08-31 59 views
0

我是javascript的超級新手,也許這已在其他地方得到解答,但我無法找到它,因爲我仍在學習術語。以div標記內容並將其應用於javascript中的內聯樣式

我想要使用div標籤的內容來定義它嵌套在div中的css值。

<!DOCTYPE html> 
 
<html> 
 
    <head> 
 
     <script type="text/javascript"> 
 
      function data(){ 
 
       alert(); 
 
       var sizeOverride = document.getElementById('newdata').innerHTML 
 
alert(sizeOverride) 
 
      } 
 
     </script> 
 
    </head> 
 

 
    <body> 
 
    \t <div id=sizeChange> 
 
     <div id="newdata"> 
 
      40 <!--The idea is for this to be 40px--> 
 
     </div> 
 
     </div> 
 
     <script type="text/javascript"> 
 
     document.getElementById("sizeChange").style.fontSize = "sizeOverride" + "px"; 
 
    \t </script> 
 
    </body> 
 
</html>

最終的計劃是利用這在圖表上定義一個欄的位置和標籤,即會出現在利用hotfields填寫的信息的網頁DIV。該框架已經建立,但目標是使用該數據來定義該div的css值。

沒有任何錯誤,但沒有發生任何事情。這可能很簡單。我很感激你對我的支持。

+0

'sizeOverride'是一個變量,但你'串聯 「sizeOverride」'接近底部的字符串,而不是一個變量。不要在變量名稱周圍引用引號。 –

+0

將頭部的javascript添加到底部的腳本標記中。在head-tag執行時,DOM不會被渲染。 – Reiner

回答

2

<!DOCTYPE html> 
 
<html> 
 
    <head> 
 
     <script type="text/javascript"> 
 
      function data(){ 
 
        return parseFloat(document.getElementById('newdata').innerHTML.trim()); 
 
      } 
 
     </script> 
 
    </head> 
 

 
    <body> 
 
    \t <div id=sizeChange> 
 
     <div id="newdata"> 
 
      40 
 
     </div> 
 
     </div> 
 
     <script type="text/javascript"> 
 

 
     document.getElementById("sizeChange").style.fontSize = data() + "px"; 
 
    \t </script> 
 
    </body> 
 
</html>

+0

注意以下更改 1.元素「newdata」必須只有值(數字)。沒有它,document.getElementById('newdata')。innerHTML將包含「newdata」中包含註釋的所有內容。 2.注意數據函數中的parseFloat。這用於將字符串innerHTML轉換爲數字。 –

+1

我會用:'parseFloat(document.getElementById('newdata')。innerText.trim());'只是爲了照顧不吉祥的人物。 – Reiner

+0

已添加!完全有道理:-) –