تمت إضافة طريقة getElementsByClassName في DOM3 ، ولكن الإصدارات الأخرى غير IE9 و 10 غير مدعومة ، وهو ألم!
في الوقت الحاضر ، يمكن حل هذا. إنه لتحديد ما إذا كان المتصفح يدعم هذه الطريقة. إذا كان مدعومًا ، فلا يهم ؛ إذا لم يكن مدعومًا ، فأضف طريقة getElementsByClassName إلى كائن المستند. تتمتع طريقة الكتابة هذه بميزة ، أي أنك لست بحاجة إلى تعديل الكود بغض النظر عما إذا كانت هناك وظائف أصلية أم لا.
يحدد بعض الأشخاص على الإنترنت مباشرة وظيفة getElementsByClassName ، ولكن بهذه الطريقة ، تحتاج إلى إعادة كتابة جميع المستندات. إنه غير مريح بعض الشيء وليست عالمية.
الطريقة التالية تدعم كتابة المستندات تمامًا:
if (! document.getElementsByClassName) {document.getElementSbyClassName = function (className ، element) {var childs = (element || document) .getElementsByTagName ('*') ؛ var elements = new array () ؛ لـ (var i = 0 ؛ i <children.length ؛ i ++) {var child = الأطفال [i] ؛ var classNames = Child.className.split ('') ؛ لـ (var j = 0 ؛ j <classnames.length ؛ j ++) {if (classNames [j] == className) {elements.push (child) ؛ استراحة؛ }}} عناصر الإرجاع ؛ } ؛}