الفرق بين المراجعتين لصفحة: «JavaScript/Document/createNodeIterator»
لا ملخص تعديل |
طلا ملخص تعديل |
||
(4 مراجعات متوسطة بواسطة مستخدمين اثنين آخرين غير معروضة) | |||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE:<code>Document.createNodeIterator()</code>}}</noinclude> | <noinclude>{{DISPLAYTITLE:<code>Document.createNodeIterator()</code>}}</noinclude> | ||
يُعيد التّابع <code>Document.createNodeIterator()</code> كائنًا جديدًا من النّوع <code>[[JavaScript/NodeIterator|NodeIterator]]</code>. | يُعيد التّابع <code>Document.createNodeIterator()</code> كائنًا جديدًا من النّوع <code>[[JavaScript/NodeIterator|NodeIterator]]</code>. | ||
سطر 8: | سطر 7: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== | ===المعاملات=== | ||
====<code>root</code>==== | ====<code>root</code>==== | ||
العقدة الجذر التي سيبدأ منها مرور الكائن <code>[[JavaScript/NodeIterator|NodeIterator]]</code>. | العقدة الجذر التي سيبدأ منها مرور الكائن <code>[[JavaScript/NodeIterator|NodeIterator]]</code>. | ||
سطر 75: | سطر 74: | ||
==== <code>filter</code> ==== | ==== <code>filter</code> ==== | ||
مُعاملٌ اختياريّ يُمثّل كائنًا يُطبِّق الواجهة <code>[[JavaScript/NodeFilter|NodeFilter]]</code>؛ يُستدعى التّابع <code>acceptNode()</code> الخاصّ بهذه الواجهة لكلّ عقدة في الشّجرة الفرعيّة المؤسّسة على الجذر والتي تُقبَل حسب ما حُدِّد من طرف المُعامل whatToShow ويُحدّد إضافة العقدة إلى قائمة العقد التكراريّة (iterable) من عدمه (يُمكن استعمال دالّة ردّ نداءٍ callback function بسيطة كذلك للحصول على نفس النّتيجة). يجب على هذا التّابع أن يُرجع أحد القيم <code>NodeFilter.FILTER_ACCEPT</code> أو <code>NodeFilter.FILTER_REJECT</code> أو <code>NodeFilter.FILTER_SKIP</code> . انظر [[Document/createNodeIterator#.D8.A3.D9.85.D8.AB.D9.84.D8.A9|المثال]]. | مُعاملٌ اختياريّ يُمثّل كائنًا يُطبِّق الواجهة <code>[[JavaScript/NodeFilter|NodeFilter]]</code>؛ يُستدعى التّابع <code>acceptNode()</code> الخاصّ بهذه الواجهة لكلّ عقدة في الشّجرة الفرعيّة المؤسّسة على الجذر والتي تُقبَل حسب ما حُدِّد من طرف المُعامل <code>whatToShow</code> ويُحدّد إضافة العقدة إلى قائمة العقد التكراريّة (iterable) من عدمه (يُمكن استعمال دالّة ردّ نداءٍ [callback function] بسيطة كذلك للحصول على نفس النّتيجة). يجب على هذا التّابع أن يُرجع أحد القيم <code>NodeFilter.FILTER_ACCEPT</code> أو <code>NodeFilter.FILTER_REJECT</code> أو <code>NodeFilter.FILTER_SKIP</code> . انظر [[JavaScript/Document/createNodeIterator#.D8.A3.D9.85.D8.AB.D9.84.D8.A9|المثال]]. | ||
==أمثلة== | ==أمثلة== |
المراجعة الحالية بتاريخ 09:20، 31 مارس 2018
يُعيد التّابع Document.createNodeIterator()
كائنًا جديدًا من النّوع NodeIterator
.
البنية العامة
var nodeIterator = document.createNodeIterator(root, whatToShow, filter);
المعاملات
root
العقدة الجذر التي سيبدأ منها مرور الكائن NodeIterator
.
whatToShow
قيمة اختياريّةٌ من النّوع unsigned long
تُمثّل قيمة bitmask تُنشأُ عبر دمج الخاصيّات الثّابتة الخاصّة بالكائن NodeFilter
. وهي طريقة جيّدة لترشيح بعض أنواع العقد. القيمة الافتراضيّة هي 0xFFFFFFFF
وتُمثّل الثّابتة SHOW_ALL
.
الثّابتة | القيمة الرّقميّة | الوصف |
---|---|---|
NodeFilter.SHOW_ALL
|
-1 (وهي القيمة القصوى للنّوع unsigned long)
|
اعرض جميع العقد. |
NodeFilter.SHOW_ATTRIBUTE
|
2
|
قيمةٌ مُهملَة تعرض عقد الخصائص من النّوع Attr .
|
NodeFilter.SHOW_CDATA_SECTION
|
8
|
قيمةٌ مُهملَة تعرض العقد من النّوع CDATASection .
|
NodeFilter.SHOW_COMMENT
|
128
|
تعرض العقد من النّوع Comment .
|
NodeFilter.SHOW_DOCUMENT
|
256
|
تعرض العقد من النّوع Document .
|
NodeFilter.SHOW_DOCUMENT_FRAGMENT
|
1024
|
تعرض العقد من النّوع DocumentFragment .
|
NodeFilter.SHOW_DOCUMENT_TYPE
|
512
|
تعرض العقد من النّوع DocumentType .
|
NodeFilter.SHOW_ELEMENT
|
1
|
تعرض العقد من النّوع Element .
|
NodeFilter.SHOW_ENTITY
|
32
|
قيمةٌ مُهملَة تعرض العقد من النّوع Entity .
|
NodeFilter.SHOW_ENTITY_REFERENCE
|
16
|
قيمةٌ مُهملَة تعرض العقد من النّوع EntityReference .
|
NodeFilter.SHOW_NOTATION
|
2048
|
قيمةٌ مُهملَة تعرض العقد من النّوع Notation .
|
NodeFilter.SHOW_PROCESSING_INSTRUCTION
|
64
|
تعرض العقد من النّوع ProcessingInstruction .
|
NodeFilter.SHOW_TEXT
|
4
|
تعرض العقد من النّوع Text .
|
filter
مُعاملٌ اختياريّ يُمثّل كائنًا يُطبِّق الواجهة NodeFilter
؛ يُستدعى التّابع acceptNode()
الخاصّ بهذه الواجهة لكلّ عقدة في الشّجرة الفرعيّة المؤسّسة على الجذر والتي تُقبَل حسب ما حُدِّد من طرف المُعامل whatToShow
ويُحدّد إضافة العقدة إلى قائمة العقد التكراريّة (iterable) من عدمه (يُمكن استعمال دالّة ردّ نداءٍ [callback function] بسيطة كذلك للحصول على نفس النّتيجة). يجب على هذا التّابع أن يُرجع أحد القيم NodeFilter.FILTER_ACCEPT
أو NodeFilter.FILTER_REJECT
أو NodeFilter.FILTER_SKIP
. انظر المثال.
أمثلة
var nodeIterator = document.createNodeIterator(
document.body,
NodeFilter.SHOW_ELEMENT,
function(node) {
return node.nodeName.toLowerCase() === 'p' ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT;
}
);
var pars = [];
var currentNode;
while (currentNode = nodeIterator.nextNode()) {
pars.push(currentNode);
}
دعم المتصفحات
الميزة | Chrome | Internet Explorer | Firefox | Opera | Safari |
---|---|---|---|---|---|
الدعم الأساسي | 1 | 9 | 3.5 | 9 | 3 |