2013-06-26 31 views
0

我一直陷在這個javascript錯誤! 我想要做的就是單擊按鈕時編輯CSS屬性的兩個值。 我不斷收到此錯誤:爲什麼不能在JavaScript中讀取null的屬性'style'?

Uncaught TypeError: Cannot read property 'style' of null

它發生在第一線的document.getElementById(如下圖)。

我已經在頁面的頁腳中添加了JavaScript,但也在其他位置進行了試用,所以不知道爲什麼它不能拾取元素。

HTML:

<a id="loadForm" href="">LINK</a> 
<div id="FormContainer"> 
    <!-- CONTENT --> 
</div> 

的JavaScript:

$(document).ready(function() { 

    jQuery('#loadForm').on('click', function (e) { 
     e.preventDefault(); 
     document.getElementById('#FormContainer').style.display = 'block'; 
     document.getElementById('#FormContainer').style.visability = 'visible'; 
    }) 
}); 
+1

的#選擇前綴是jQuery的不的getElementById() ..你爲什麼使用getElementById? - $('#FormContainer')。hide()/ show() –

+0

爲什麼奇怪的混合jquery而不是jquery? –

+1

它也是'可見度'而不是'可見度'。 –

回答

2

從參數中刪除導致散列document.getElementById,因爲它不是ID的一部分:

document.getElementById('FormContainer') 

document.getElementById('#FormContainer')回報null。而且您無法更改null的屬性style,因爲null是原始值並且沒有屬性。

或者你已經在使用jQuery只是做:

$('#FormContainer').toggle(); // toggles visibility 
2

您已經使用jQuery,還不如去:

$(document).ready(function() { 

    jQuery('#loadForm').on('click', function (e) { 
     e.preventDefault(); 
     $('#FormContainer').show(); 
    }) 
}); 
相關問題