2011-08-22 17 views
11

コメント内の// Errorとマークされた行のコードにあります。 Javascriptで次のようなエラーが表示されます。 "プロパティのスタイルを 'null'に読み込むことはできません。私はそれが何がオブジェクトを見つけることができないのか分かりません。私は思ってすべてを試しました。助けてください。document.getElementbyId()nullを返す

<script type="text/javascript"> 

    $.getJSON('https://graph.facebook.com/647045111?fields=first_name&<%= Session["Token"] %>', 

    function (data) { 
     $('#userName').html(data.first_name); 
    }); 

    document.getElementById('connectedUnregistered').style.display = 'block'; //Error 

</script> 

    <div id="userName"></div> 

    <div id="disconnected" style="display:block;"> 

    <div id="heading">Facebook login</div> 

    <a href="Account/FacebookLogin" id="loginButton"><div id="fbConnectButton"><img src="/Content/Images/fbconnect.png"/></div></a>  

    </div> 

    <div id="connectedUnregistered" style="display:none"> 

    <div id="heading">Register Now</div> 



    </div> 

答えて

20

<div id="connectedUnregistered" />が実際に作成される前に、JavaScriptコードを実行しています。

<div>と対応する</div>を閉じなかったことにも注意してください。

JavaScriptのコードをHTMLの下の部分に移動します。または、ページのロードが完了した後に実行します。

<script> 

    $(document).ready(function() { 

     ... your code ... 

    }); 
</script> 
2

スクリプトを最初のものではなくHTMLファイルの最後に置き、それが何かを解決するかどうかを確認します。

JavaScriptはまだ作成されていないため、DOM要素を編集できません。

0

スクリプトは、要素がロードされる前に要素を取得しようとしています。要素の後にスクリプトを置くか、ロードまたは準備完了イベントに入れます。

3

はおそらく

$(document).ready(function(){ 

//Code 

}); 

ブロック

0

コードは要素が作成される前に実行して、このコードを配置してみてください。 jqueryを使用しているので、単にdocument.readyでラップしてください:

$(function(){ 
    // code goes here 
}); 

これはDOMの作成後に実行されます。

0

DOMが完全に利用可能になり、呼び出しが失敗する前にjavascriptコードが実行されています。次の代わりにお試しください

$(document).ready(function() { 
    document.getElementById('connectedUnregistered').style.display = 'block'; //Error 
} 
0

このエラーは、要素にIDがないことを示している可能性もあります。

<input type="text" name="myelem" /> 

要素にIDが設定されていることを確認してください。私の場合は

<input type="text" name="myelem" id="myelem" /> 
0

それがあるため、JSP/HTML(何でも)、ファイルの先頭に次の行を持つのだった:

それは(私は何を覚えていない私のために問題を解決して削除
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 

最初の場所で私のページで行っていた)

1

また、コードの一部でdocument.writeを使用している場合は、nullを取得するのが一般的です。

+1

document.writeは私の問題でした - ありがとう! – DavidJ

関連する問題