2011-08-22 18 views
11

// टिप्पणी में त्रुटि के रूप में चिह्नित लाइन पर कोड में कोड। मुझे जावास्क्रिप्ट त्रुटि कह रही है: "'शून्य' की संपत्ति शैली नहीं पढ़ी जा सकती है। मुझे नहीं पता कि यह वस्तु को खोजने में सक्षम नहीं है। मैंने सोचा और सब कुछ करने की कोशिश की। कृपया मदद करे। यहां कोड है:document.getElementbyId() वापस लौटा

<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" /> वास्तव में बनाया गया था की कोशिश करो।

यह भी ध्यान रखें कि आपने <div> को </div> के साथ बंद नहीं किया है।

तो अपने जावास्क्रिप्ट कोड को अपने HTML के नीचे एक भाग में ले जाएं। या पेज लोड होने के बाद इसे निष्पादित करें। यदि आप JQuery का उपयोग कर रहे हैं तो आप कर सकते हैं:

<script> 

    $(document).ready(function() { 

     ... your code ... 

    }); 
</script> 
2

अपनी स्क्रिप्ट को शुरुआत के बजाय HTML दस्तावेज़ के अंत में रखें, और देखें कि क्या चीजें हल करती हैं या नहीं।

जावास्क्रिप्ट DOM तत्व को संपादित नहीं कर सकता क्योंकि यह अभी तक नहीं बनाया गया है।

0

स्क्रिप्ट तत्व लोड होने से पहले तत्व प्राप्त करने का प्रयास कर रहा है। तत्व के बाद स्क्रिप्ट रखें या इसे लोड या तैयार ईवेंट में रखें।

3

शायद एक

$(document).ready(function(){ 

//Code 

}); 

ब्लॉक

0

कोड को तत्व बनाया जा रहा से पहले कार्यान्वित में इस कोड को रखने का प्रयास करें। चूंकि आप jquery का उपयोग कर रहे हैं, बस इसे दस्तावेज़ में लपेटें। पहले से:

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

यह डोम बनने के बाद निष्पादित होगा।

0

डॉम पूरी तरह से उपलब्ध होने से पहले जावास्क्रिप्ट कोड चल रहा है और कॉल विफल हो जाती है। निम्नलिखित बजाय

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

यह त्रुटि यह भी संकेत दे सकती है कि तत्व में आईडी नहीं है।

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

सुनिश्चित करें कि आपके तत्व में एक आईडी है।

<input type="text" name="myelem" id="myelem" /> 
0
मेरे मामले में

यह क्योंकि jsp/html की शुरुआत में इस लाइन होने के था (जो) फ़ाइल:

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 

को हटाने यह मेरे लिए समस्या हल (मुझे याद नहीं क्या यह मेरे पृष्ठ पर पहले स्थान पर कर रहा था)

1

इसके अलावा, यदि कोड के कुछ भाग में आप document.write का उपयोग कर रहे हैं तो यह शून्य हो जाना बहुत आम है।

+1

document.write मेरा मुद्दा था - धन्यवाद! – DavidJ

संबंधित मुद्दे