ParentNode.firstElementChild

من موسوعة حسوب
< JavaScript
مراجعة 18:59، 17 مارس 2018 بواسطة عبد-الهادي-الديوري (نقاش | مساهمات) (إضافة الصّفحة)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)
اذهب إلى التنقل اذهب إلى البحث

تُعيد الخاصيّة ParentNode.firstElementChild القابلة للقراءة فقط أول عنصِرٍ إبن للكائن، أو القيمة null إن لم يكن هناك أي عنصرٍ إبن.

البنية العامة

var element = node.firstElementChild;

مثال

<ul id="foo">
  <li>القيمة الأولى</li>
  <li>القيمة الثّانية</li>
  <li>القيمة الثّالثة</li>
</ul>

<script>
var foo = document.getElementById('foo');
// تُسجّل القيمة الأولى
console.log(foo.firstElementChild.textContent);
</script>

إضافة لدعم المتصفحات غير المدعومة

الشيفرة التّالية تقوم بالكتابة فوق الكائن firstElementChild الذي يُعتبر كائنا من النّوع prototype وتُضيف دعم كلّ من Document وDocumentFragment لمُتصفّحي IE9 وSafari. لكنّها تُرجع مصفوفة عوضا عن مجموعة من النّوع HTMLCollection.

;(function(constructor) {
    if (constructor &&
        constructor.prototype &&
        constructor.prototype.firstElementChild == null) {
        Object.defineProperty(constructor.prototype, 'firstElementChild', {
            get: function() {
                var node, nodes = this.childNodes, i = 0;
                while (node = nodes[i++]) {
                    if (node.nodeType === 1) {
                        return node;
                    }
                }
                return null;
            }
        });
    }
})(window.Node || window.Element);

دعم المتصفحات

الميزة Chrome Edge Firefox Internet Explorer Opera Safari
الدعم الأساسي 1 ؟ 3.5 9 10 4
الدعم على كلّ من Document وDocumentFragment (ميّزة تجريبيّة) 29 ؟ 25 لا 16 لا

انظر أيضًا


مصادر ومواصفات

  • مواصفة DOM. فرّقت هذه المواصفة الواجهة ElementTraversal إلى كلّ من الواجهة ChildNode والواجهة ParentNode، هذه الخاصيّة معرّفة الآن على الواجهة الأخيرة. تُطبّق كلّ من الواجهة Document والواجهة DocumentFragment الواجهتين الجديدتين.
  • مواصفة Element Traversal Specification.