मैं यहां नया हूं (और जावास्क्रिप्ट पर नया), इसलिए कृपया मेरे सुपर मूल प्रश्नों को क्षमा करें। मेरे पास एक अलग-अलग छवियों वाला एक HTML पृष्ठ है जो सभी उस पर एक वर्ग साझा करते हैं। GetElementsByClassName का उपयोग करके, मुझे एक सरणी मिलती है। मैं .map() फ़ंक्शन का उपयोग कर सरणी में प्रत्येक कक्ष में इवेंट श्रोता जोड़ना चाहता हूं।जावास्क्रिप्ट .map() कोई फ़ंक्शन नहीं है
यह है कि मैं क्या है:
window.onload = function(){
var allImgs = document.getElementsByClassName("pft");
var newImgs = allImgs.map(
function(arrayCell){
return arrayCell.addEventListener("mouseover, functionName");
}
);
};
यह त्रुटि दिखा रहता है "allImgs.map कार्य नहीं है" यहां तक कि जब मैं कुछ करने के लिए आंतरिक समारोह को बदलने कि घटना श्रोता शामिल नहीं है।
मेरे पास इस कोड का एक और संस्करण है जहां मैं खिड़की के भीतर सरणी कक्षों के माध्यम से लूप करता हूं। इस तरह से प्रत्येक को ईवेंट श्रोता जोड़ें और यह काम करता है। .map() फ़ंक्शन क्यों काम नहीं कर रहा है? क्या इसका उपयोग विंडो में नहीं किया जा सकता है।
http://stackoverflow.com/questions/222841/most- कुशल-way-to-convert-an-htmlcollection-to-an-array – baao
यह अब बहुत अधिक समझ में आता है, धन्यवाद। – JSn00b
@ Flawyte Eek, यह अभी तक मेरे लिए काम नहीं कर रहा है। मैं शायद कुछ सुपर मूल देख रहा हूँ। यहां मुझे जो मिला है: 'window.onload = function() { \t var allImgs = document.getElementsByClassName (" pft "); \t var newImgs = [] .slice.call (allImgs); \t console.log (newImgs.typeof); \t newImgs.map ( \t \t \t समारोह (arrayCell) { \t \t \t \t वापसी arrayCell।addEventListener ("माउसओवर, फ्लिपओवर"); \t \t \t} \t); }; ' – JSn00b