आपका कोड सही है। शायद आपकी समस्या यह है कि आप AddBorder
फ़ंक्शन पर आईडी नहीं दे रहे हैं, या उस आईडी वाला कोई तत्व मौजूद नहीं है। या ब्राउज़र के DOM के माध्यम से प्रश्न में तत्व के पहुंचने से पहले आप अपना फ़ंक्शन चला रहे हैं।
पहले मामले की पहचान या दूसरे मामले का कारण निर्धारित, समारोह के अंदर पहले लाइनों के रूप में इन जोड़ने के लिए:
alert('ID number: ' + id);
alert('Return value of gEBI: ' + document.getElementById('horseThumb_' + id));
पॉप-अप विंडो हर बार समारोह में कहा जाता है खुल जाएगा यही कारण है, के साथ id
का मान और document.getElementById
का वापसी मूल्य। यदि आपको आईडी नंबर पॉप-अप के लिए undefined
मिलता है, तो आप फ़ंक्शन पर तर्क नहीं दे रहे हैं। यदि आईडी मौजूद नहीं है, तो आपको पहले पॉप-अप में अपना (गलत?) आईडी नंबर मिलेगा, लेकिन दूसरे में null
प्राप्त होगा।
तीसरे मामले में क्या होगा अपने वेब पेज इस तरह दिखता है, AddBorder
चलाने का प्रयास करते समय यह पृष्ठ अभी भी लोड कर रहा है:
<head>
<title>My Web Page</title>
<script>
function AddBorder(id) {
...
}
AddBorder(42); // Won't work; the page hasn't completely loaded yet!
</script>
</head>
इसे ठीक करने के लिए सभी कोड एक onload
घटना अंदर AddBorder का उपयोग करता है डाल हैंडलर:
// Can only have one of these per page
window.onload = function() {
...
AddBorder(42);
...
}
// Or can have any number of these on a page
function doWhatever() {
...
AddBorder(42);
...
}
if(window.addEventListener) window.addEventListener('load', doWhatever, false);
else window.attachEvent('onload', doWhatever);
जिस तरह से आपने इसे किया है। लेकिन अगर आप स्पष्ट होना चाहते हैं, तो आप 'id' को' id.toString() 'में बदल सकते हैं। –
हां, आपने इसे सही तरीके से किया है। यदि यह "काम नहीं कर रहा है", तो कुछ और गलत है, जैसे वास्तव में उस आईडी के साथ कोई तत्व नहीं है। –
यह कोड: 'getElementById (" horseThumb _ {$ id} ") 'जावास्क्रिप्ट नहीं है, यह PHP है। इसलिए यही कारण है कि यह आपके लिए काम नहीं करता है। – Domenic