2012-01-14 17 views
6

यह कोड क्यों काम नहीं करता है? मैं एफएफ का उपयोग कर रहा हूँ।getElementById और शून्य - क्यों?

<head> 
<script type="text/javascript"> 

document.getElementById("someID").onclick = function(){ 
    alert("Yahooo"); 
} 
</script> 
</head> 

<body> 
<a href="#" id="someID">someID</a> 
</body> 

</html> 

मुझे जावास्क्रिप्ट त्रुटि मिल रही है IlementById शून्य के बराबर है।

उत्तर

10

स्क्रिप्ट निष्पादित होने पर आवश्यक डॉम लोड नहीं होता है। या तो उसे नीचे ले जाता (href नीचे) या इस तरह इसे परिभाषित: जब पेज पूरी तरह से लोड है

window.onload = function() { 
    document.getElementById("someID").onclick = function(){ 
     alert("Yahooo"); 
    } 
} 

window.onload बुलाया जाएगा।

2

क्योंकि स्क्रिप्ट चलाने पर तत्व अभी तक मौजूद नहीं है - दस्तावेज़ अभी तक प्रस्तुत नहीं किया गया है। या तो संबंधित एचटीएमएल के बाद स्क्रिप्ट ब्लॉक में स्क्रिप्ट चलाएं, या "तैयार पर दस्तावेज़" ईवेंट हैंडलर का उपयोग करें - अधिमानतः jQuery की .ready() घटना, या मूल window.onload जैसे कुछ से।

+0

ओएमजी! Facepalm। धन्यवाद :) – lunar

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