2017-10-19 126 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 –

相关问题