2017-10-19 113 views
0

我試圖給邊距的特性「的setAttribute」:10px的到ID下載CSVCSS遺漏的類型錯誤:無法讀取空

下面是HTML和JAVASCRPIT:

<span style="display: inline;" id="download-csv"><input type="submit" id="csv_download" value="Download"></span>; 



JavaScript : 
     var download_csv=document.getElementById("download-csv"); 
if(count_layer==1) 
     download_csv.setAttribute("style","margin-top:10px"); 
}else{ 
     download_csv.setAttribute("style","margin-top:20px"); 

} 

它拋出錯誤 TypeError:無法讀取null屬性'setAttribute'

回答

2

你可以試試這個代碼:

if(count_layer==1) 
     download_csv.style.marginTop = "10px"; 
}else{ 
     download_csv.style.marginTop = "20px"; 
} 
+0

結束與錯誤 –

+0

不好意思寫雙倍時間style.style它是唯一一個款式風格再次嘗試這個先生,請。 –

+0

先生,我寫了這一個,但相同的錯誤download_csv.style.marginTop =「10px」; –

4

您需要確保在JS代碼訪問這些元素之前加載標記。

而且,你不能給margin s到inline元素,設置display樣式屬性display-inline

var download_csv = document.getElementById("download-csv"); 
 
var count_layer = 1; 
 
if (count_layer == 1) { 
 
    download_csv.style.marginTop = "10px"; 
 
} else { 
 
    download_csv.style.marginTop = "50px"; 
 
}
<span style="display: inline-block;" id="download-csv"> 
 
    <input type="submit" id="csv_download" value="Download"> 
 
</span>

1

現在正在加載頁面之前執行JavaScript代碼,因此<html>屬性不會沒有加載,和那麼你會得到錯誤。

要修復它,把你的javascript代碼裏面的$(document)。就緒

$(document).ready(function() { 
    //Your code goes here 
}) ; 
+0

不知道這傢伙是否使用jquery –

+0

大多是JavaScript –

相關問題