الخصائص والطرق HTML DOM
تحدد الخصائص والطرق على الواجهة البرمجية للغة HTML DOM .
الواجهة البرمجية
بلغة DOM تتألف الصفحة من خلال مجموعة عقد . يمكن استخدام العقدة باستخدام الجافاسكربت JavaScript أو من خلال لغات برمجية أخرى . ولكن في هذا الدورة سنستخدم الجافاسكربت JavaScript .
تحدد الواجهة البرمجية للغة DOM الخصائص والطرق المعيارية .
تحدد الخصيصة نوع الشي المراد ذكره مثل اسم العقدة .
تحدد الطريقة كيفية فعل الشيء مثل حذف العقدة .
الخصائص
بعض خصائص لغة DOM
x.innerHTML: قيمة النص للكائن x .x.nodeName: اسم الكائن x .x.nodeValue: قيمة الكائن x .x.parentNode: العقدة الأب للكائن x .x.childNodes: العقدة الإبن للكائن x .x.attributes: عقد اللواحق للكائن x .
ملاحظة : في القائمة السابقة , العنصر x هو عقدة كائن .
الطرق
بعض طرق لغة DOM
x.getElementById(id): احصل على العناصر من خلال id الخاص بها .x.getElementsByTagName(name): احصل على جميع العناصر من خلال اسم الوسم الخاص بهم .x.appendChild(node): إدراج عقدة الإبن الى x .x.removeChild(node): إزالة عقدة الابن من x .
ملاحظة : في القائمة السابقة , العنصر x هو عقدة كائن .
خاصية innerHTML
أسهل طريقة للحصول على أو تعديل محتوى العنصر هو استخدام خاصية innerHTML .
لاتعتبر خاصية innerHTML جزء من اختصاص W3C DOM الا أنها مدعومة من خلال جميع المتصفحات .
تعتبر خاصية innerHTML مفيدة عند استعادة أو استبدال محتوى عناصر HTML متضمناً عناصر <html> و <body> كما يمكن أن تستخدم لإظهار مصدر الصفحة التي يمكن التعديل عليها بشكل ديناميكي أو نشط .
مثال
تحصل في الكود التالي نص innerHTML من الفقرة <p> من خلال id المسمى intro :
<html>
<body>
<p id="intro">مرحباً بكم في المعهد العربي للبرمجة</p>
<script type="text/javascript">
txt=document.getElementById("intro").innerHTML;
document.write("<p>النص من خلال الاي بي المستخدم هو : " + txt + "</p>");
</script>
</body>
</html>
في المثال السابق getElementById هي طريقة بينما innerHTML هي خاصية .
childNodes و nodeValue
يمكن أيضاً استخدام childNodes و nodeValueللحصول على محتوى العناصر .
يحصل الكود التالي على القيمة الموجودة ضمن العنصر <p> من خلال id المسمى intro .
مثال
<html>
<body>
<p id="intro">مرحباً بكم في المعهد العربي للبرمجة</p>
<script type="text/javascript">
txt=document.getElementById("intro").childNodes[0].nodeValue;
document.write("<p>النص من خلال الاي بي المستخدم هو : " + txt + "</p>");
</script>
</body>
</html>
في المثال السابق getElementById هي طريقة بينما childNodes و nodeValueهي خاصية .
في هذا الدورة غالباً ماسنقوم باستخدام الخاصية innerHTML . ولكن باستخدام الطرق السابقة ستتمكن من فهم بنية الشجرة للغة DOM و التعامل مع ملفات XML .