الفرق بين المراجعتين لصفحة: «JavaScript/ParentNode/lastElementChild»
إضافة الصّفحة |
لا ملخص تعديل |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE:<code>Document.lastElementChild</code>}}</noinclude> | <noinclude>{{DISPLAYTITLE:<code>Document.lastElementChild</code>}}</noinclude> | ||
تُعيد الخاصيّة <code>Document.lastElementChild</code> القابلة للقراءة فقط آخر عنصِرٍ | تُعيد الخاصيّة <code>Document.lastElementChild</code> القابلة للقراءة فقط آخر عنصِرٍ ابن للكائن، أو القيمة <code>null</code> إن لم يكن هناك أي عنصرٍ ابن. | ||
==البنية العامة== | ==البنية العامة== | ||
سطر 7: | سطر 7: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==مثال== | |||
<syntaxhighlight lang="javascript"> | <syntaxhighlight lang="javascript"> | ||
<ul id="foo"> | <ul id="foo"> | ||
سطر 23: | سطر 23: | ||
==إضافة لدعم المتصفحات غير المدعومة == | ==إضافة لدعم المتصفحات غير المدعومة == | ||
الشيفرة التّالية | الشيفرة التّالية تكتب فوق الكائن <code>lastElementChild</code> الذي يعد كائنًا من النّوع <code>prototype</code> وتُضيف دعم كلّ من <code>Document</code> و<code>DocumentFragment</code> لمُتصفّحي IE9 وSafari. لكنّها تعيد مصفوفةً عوضًا عن مجموعة من النّوع <code>HTMLCollection</code>. | ||
<syntaxhighlight lang="javascript"> | <syntaxhighlight lang="javascript"> |
المراجعة الحالية بتاريخ 02:52، 18 مارس 2018
تُعيد الخاصيّة Document.lastElementChild
القابلة للقراءة فقط آخر عنصِرٍ ابن للكائن، أو القيمة null
إن لم يكن هناك أي عنصرٍ ابن.
البنية العامة
var element = node.lastElementChild;
مثال
<ul id="foo">
<li>القيمة الأولى</li>
<li>القيمة الثّانية</li>
<li>القيمة الثّالثة</li>
</ul>
<script>
var foo = document.getElementById('foo');
// تُسجّل القيمة الثّالثة
console.log(foo.lastElementChild.textContent);
</script>
إضافة لدعم المتصفحات غير المدعومة
الشيفرة التّالية تكتب فوق الكائن lastElementChild
الذي يعد كائنًا من النّوع prototype
وتُضيف دعم كلّ من Document
وDocumentFragment
لمُتصفّحي IE9 وSafari. لكنّها تعيد مصفوفةً عوضًا عن مجموعة من النّوع HTMLCollection
.
;(function(constructor) {
if (constructor &&
constructor.prototype &&
constructor.prototype.lastElementChild == null) {
Object.defineProperty(constructor.prototype, 'lastElementChild', {
get: function() {
var node, nodes = this.childNodes, i = nodes.length - 1;
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 | لا |
انظر أيضًا
- الواجهة
ParentNode
والواجهةChildNode
- أنواع الكائنات التي تُطبّق هذه الواجهة:
Document
وElement
وDocumentFragment
مصادر ومواصفات
- مواصفة DOM. فرّقت هذه المواصفة الواجهة
ElementTraversal
إلى كلّ من الواجهةChildNode
والواجهةParentNode
، هذه الخاصيّة معرّفة الآن على الواجهة الأخيرة. تُطبّق كلّ من الواجهةDocument
والواجهةDocumentFragment
الواجهتين الجديدتين. - مواصفة Element Traversal Specification.