Have an account? Sign in
Login  Register  Facebook
This Page is Under Construction! - If You Want To Help Please Send your CV - Advanced Web Core (BETA)
[Edit] معلومات النقط
سنكمل العمل على نفس المثال الموجود في أول الدرس السابق,عندما تريد أن تعرف نوع البيانات في الجافا سكريبت فأنك تستخدم typeof لاحظ الأمثلة التالية: للوصول إلى أول عنصر في القائمة ثم إختبار نوع البيانات التي وصلنا لها
 var li=document.getElementsByTagName('li')
typeof li[0]

سيرجع لك الناتج "object"

و إذا وصلنا للنص الذي بداخله و الذي يكون هوا الإبن الأول له ثم أختبرنا النوع ايضا
var text=li[0].firstChild
typeof text

أيضا ستجد أنه نوعه "object".

كما ترى سواء كانت النقطة عبارة عن عنصر هيتميل "تاج" مثل li أو نص فإن نوعها كبيانات جافا سكريبت يكون object,لكن كيف نعرف من خلال الجافا سكريبت ماذا تمثل هذه البيانات في هيتيل كيف نعرف إن كانت النقطة نص أو عنصر هيتميل و كيف نعرف قيمة النقطة و إسمها .هذا ما سنعرفه من خلال هذا الدرس. هناك ثلاث خواص يزودونا بمعلومات أساسية عن النقاط و هم
  • nodeType و نعرف من خلالها نوع النقطة.
  • nodeName و نعرف من خلالها إسم النقطة.
  • nodeValue و نعرف من خلالها قيمة النقطة

nodeType

ترجع رقم يعبر عن نوع النقطة حسب الجدول التالي
المتغيرالوصف
1يعني أن النقطة عبارة عن تاج هيتميل
2النقطة عبارة عن صفة ATTRIBUTE
3النقطة عبارة عن نص
الجدول يحتوى على الأشياء الأساسية أما للوصول و لكن هناك أنواع أخرى من النقاط و للوصول لمعنى الأرقام فإن ذلك متوفر في كائن يسمى Node حيث توجد فيه قيم الأرقام مخزنه كثوابت و لتجدها اكتب في الكنسول
Node
سيرجع لك Node {ELEMENT_NODE=1, ATTRIBUTE_NODE=2, TEXT_NODE=3, more...} قم بالضغط عليها ستفتح لك صفحة فيها القيم الرقمية و مدلولها.

و الآن لنطبق على المثال الذي نعمل عليه.

li=document.getElementsByTagName('li')[0]
li.nodeType

سيرجع لك 1 حيث أن النقطة عبارة عن التاج li.

الآن فلندخل إلى النص الذي داخل li و نختبر نوعه
text=li.firstChild
text.nodeType
سيرجع لك 3 حيث أن النقطة عبارة عن نص .

nodeName

للنقاط التي تكون عبارة عن تاج <tag> في هيتميل ,يرجع لنا إسم التاج
document.getElementsByTagName('li')[0].nodeName

يرجع "LI"

أما إن كانت النقطة هي document رأس الـDOM
document.nodeName

يرجع "#document"

و في حالة كانت النقطة نص text
text=document.getElementsByTagName('li')[0].firstChild
text.nodeName
فإنه يرجع "#text"

nodeValue

هذه الخاصية مفيدة مع النصوص حيث من خلالها نصل للنص نفسه كـstring و ليس نقطته أنظر الأمثلة : للوصول إلى نقطة النص الموجود في أول عنصر في القائمة first item
textnode=document.querySelector('li.first').firstChild
سيرجع لك <TextNode textContent="first item"> لإختبار النوع
typeof textnode

يرجع "object"

إذا عرضنا textnode بإستخدام alert
alert(textnode )
ستجد أن الصندوق مكتوب فيه [object text] و ليس النص نفسه . للوصول للنص نفسه نستخدم nodeValue
text=textnode.nodeValue

يرجع لك "first item"

لإختبار النوع
typeof text
تجد أن النوع "string" لعرض المحتوى
alert(text)
ستجد أن الصندوق مكتوب فيه "first item" مع النقاط التي تمثل تاج هيتميل خاصية nodeValue ترجع null ,فكما قلنا هي مفيدة مع نقط النصوص .
December 10, 2011