شیء Attribute
HTML DOM Nodes
در مدل HTML DOM، هر چیزی یک گره است:
- سند خودش به تنهایی یک گره سند، می باشد.
- تمام عناصر HTML، گره های عنصر هستند.
- تمام خصوصیت های HTML گره های خصوصیت هستند.
- متن های درون عناصر HTML گره هستند.
- کامنت ها نیز، گره کامنت هستند.
The Attr Object
در HTML DOM، اشیاء Attr، یک خصوصیت HTML را مشخص می کنند.
یک خصوصیت HTML همواره به یک عنصر HTML تعلق دارد.
The NamedNodeMap Object
در مدل HTML DOM، شیء NamedNodeMap یک مجموعه ی نامنظم از گره خصوصیت عنصرها را مشخص می کند.
گره های درون NamedNodeMap می توانند به وسیله ی نام یا اندیس، مورد دسترسی قرار بگیرند.
پشتیبانی مرورگرها
Object | |||||
---|---|---|---|---|---|
Attr | بله | بله | بله | بله | بله |
NamedNodeMap | بله | بله | بله | بله | بله |
شیء Attr و شیءNamedNodeMap در تمام مرورگرهای بزرگ پشتیبانی می شوند.
خصوصیت ها و متدها
Property / متد | توضیحات |
---|---|
attr.isId |
در صورتی که خصوصیت مورد نظر از نوع ID باشد، true را برمی گرداند و در غیر این صورت false برگردانده خواهد شد. |
attr.name |
نام یک خصوصیت را برمی گرداند. |
attr.value |
مقدار خصوصیت مورد نظر را ست کرده یا برمی گرداند. |
attr.specified |
در صورتی که خصوصیت مورد نظر، مشخص شده باشد، true را برمی گرداند و در غیر این صورت false برگردانده خواهد شد. |
nodemap.getNamedItem() |
یک گره خصوصیت، مشخص شده را از شیء NamedNodeMap برمی گرداند. |
nodemap.item() |
گره خصوصیت را با یک اندیس مشخص در یک شیء NamedNodeMap برمی گرداند. |
nodemap.length |
تعداد گره های خصوصیت را در یک شیء NamedNodeMap برمی گرداند. |
nodemap.removeNamedItem() |
یک گره خصوصیت مشخص شده را حذف می کند. |
nodemap.setNamedItem() |
گره خصوصیت مشخص شده را ست می کند(به وسیله ی نام). |
DOM 4 اخطار !!!
در هسته ی W3C DOM، شیء Attr، تمام خصوصیت ها و متد ها را از شیء Node به ارث می برد.
در DOM4، شیء Attr مانند قبل از Node چیزی را به ارث نمی برد.
برای اینکه کیفیت کدنویسی در آینده بهتر شود، شما باید از استفاده از خصوصیات شیء node و متدهای اشیاء attribute خود داری کنید.
Property / متد | Reason for avoiding |
---|---|
attr.appendChild() |
خصوصیت ها گره های فرزند ندارند. |
attr.attributes |
خصوصیت ها، attribute ندارند. |
attr.baseURI |
به جای آن از دستور document.baseURI استفاده کنید. |
attr.childNodes |
خصوصیت ها گره های فرزند ندارند. |
attr.cloneNode() |
به جای آن می توانید attr.value را گرفته یا ست کنید. |
attr.firstChild |
خصوصیت ها گره های فرزند ندارند. |
attr.hasAttributes() |
خصوصیت ها، attribute ندارند. |
attr.hasChildNodes |
خصوصیت ها، گره های فرزند ندارند. |
attr.insertBefore() |
خصوصیت ها گره های فرزند ندارند. |
attr.isEqualNode() |
هیچ مفهومی ندارد. |
attr.isSameNode() |
هیچ مفهومی ندارد. |
attr.isSupported() |
همواره true می باشد. |
attr.lastChild |
خصوصیت ها گره های فرزند ندارند. |
attr.nextSibling |
خصوصیت ها، ویژگی sibling(عناصر هم نیا) ندارند. |
attr.nodeName |
به جای آن از attr.name استفاده کنید. |
attr.nodeType |
این همواره 2 می باشد(ATTRIBUTE_NODE). |
attr.nodeValue |
به جای آن از attr.value استفاده کنید. |
attr.normalize() |
خصوصیت ها نمی توانند normalized شوند. |
attr.ownerDocument |
این همواره سند HTML شما می باشد. |
attr.ownerElement |
این، عنصر html ی است که شما از آن برای دسترسی به خصوصیت استفاده کرده اید. |
attr.parentNode |
این، عنصر html ی است که شما از آن برای دسترسی به خصوصیت استفاده کرده اید. |
attr.previousSibling |
خصوصیت ها، ویژگی sibling(عناصر هم نیا) ندارند. |
attr.removeChild |
خصوصیت ها، گره های فرزند ندارند. |
attr.replaceChild |
خصوصیت ها گره های فرزند ندارند. |
attr.textContent |
به جای آن از attr.value استفاده کنید. |
- نوشته شده توسط احسان عباسی
- بازدید: 6279