2011-07-06 20 views
1

これは、過去2日間、私の頭を壁に向かって叩いている奇妙なものです。前に何か似たようなことをして、その問題が何であるかを確かめてください。あなたはここで働いページを参照してくださいすることができますjavascript getelementbyid is null

http://psssoftware.net/forms.html

を私は右の「testbox」を隠すためにしようとしていますが、私は何もありませんidでそれを取得しようとするとき。同じタグ名を持つ他の要素はありませんが、idは正しいです。うまくいけば、もう一組の目が見えなくなるはずです。

<script language="JavaScript" type="text/javascript"> 


var x = document.getElementById('col-ab-affUSLF'); 
var y = document.getElementById('col-c-affUSLF'); 
x.style.width = 'auto !important'; 
y.style.display = 'none !important'; 


</script> 

おかげで、

ブレイク
+0

ではあなたの関連するJavaScriptを投稿してくださいでした余分な二重引用符を持っているように見えます? 'getElementById( 'idName')' –

+0

@DavidThomasありがとう。 – Blake

答えて

4

getElementByIdをがと呼ばれた時に存在しない指定されたIDを持つ要素。 DOM操作(指定されたIDを持つ要素を取得しようとすることを含む)を行う前に[多数の]フレームワークが「DOM準備ができているのを待つ」(例えばonload)理由があります。

ハッピーコーディング。

+0

私はあなたがまさに正しいと思います。私は目が見えません。私が家に帰ると病気が確認されます。ありがとうございます – Blake

+0

フレームワークは何も待たずに、DOMready関数を使うのはプログラマに任されます。 – RobG

+0

onloadイベントで呼び出された関数でそれをラップし、期待どおりに機能しました。みんなありがとう。 – Blake

1

あなたは、この行の不要な二重引用符があります。それはあなたのスクリプトタグを投げているように見えます

y.style.display = 'none !important"'; 

を。

0

ソースで見ると、これはあなたのjsです:

<script language="JavaScript" type="text/javascript"> 


    var x = document.getElementById('col-ab-affUSLF'); 
    var y = document.getElementById('col-c-affUSLF'); 
    x.style.width = 'auto !important'; 
    y.style.display = 'none !important"'; 


</script> 

あなたが本当にあなたの場合は、「あなたのy.style.display = 'none !important"';