ÐÑÐ¾Ñ Ð´Ð¾ÐºÑÐ¼ÐµÐ½Ñ ÑвлÑеÑÑÑ Ð½Ðµ оÑиÑиалÑнÑм пеÑеводом иÑÑ Ð¾Ð´Ð½Ð¾Ð¹ английÑкой веÑÑии Element Traversal Specification. ÐбÑаÑиÑе внимание на Ñо, ÑÑо оÑигиналÑÐ½Ð°Ñ Ð²ÐµÑÑÐ¸Ñ Ð´Ð¾ÐºÑменÑа ÑÑÑеÑÑвÑÐµÑ ÑолÑко на английÑком ÑзÑке. ÐаннÑй пеÑевод Ð¼Ð¾Ð¶ÐµÑ ÑодеÑжаÑÑ Ð½ÐµÑоÑноÑÑи и оÑибки. ÐеÑевод вÑполнил © ÐайÑев ÐмиÑÑий, 2011. ÐÑи поддеÑжке ÑайÑов huskyaircompressor.us, cfmcompressors.com. ÐомменÑаÑии к пеÑÐµÐ²Ð¾Ð´Ñ Ð¾ÑÑавлÑйÑе здеÑÑ! | | Ðа главнÑÑ
ÐнноÑаÑиÑÐÑа ÑпеÑиÑикаÑÐ¸Ñ Ð¾Ð¿ÑеделÑÐµÑ Ð¸Ð½ÑеÑÑÐµÐ¹Ñ ElementTraversal
, коÑоÑÑй позволÑÐµÑ Ð¾ÑÑÑеÑÑвлÑÑÑ Ð½Ð°Ð²Ð¸Ð³Ð°ÑÐ¸Ñ ÑÑенаÑÐ¸Ñ ÑлеменÑов деÑева DOM, иÑклÑÑÐ°Ñ Ð²Ñе дÑÑгие ÑÐ·Ð»Ñ Ð² DOM, Ñакие как ÑекÑÑовÑе ÑзлÑ. Ðн Ñакже пÑедоÑÑавлÑÐµÑ Ð°ÑÑибÑÑ, ÑÑÐ¾Ð±Ñ Ð²ÑÑвиÑÑ ÑиÑло доÑеÑниÑ
ÑлеменÑов данного ÑлеменÑа. Ðн пÑедназнаÑен Ð´Ð»Ñ Ñого, ÑÑÐ¾Ð±Ñ Ð¾Ð±ÐµÑпеÑиÑÑ Ð±Ð¾Ð»ÐµÐµ ÑдобнÑÑ Ð°Ð»ÑÑеÑнаÑÐ¸Ð²Ñ ÑÑÑеÑÑвÑÑÑим инÑеÑÑейÑам навигаÑии DOM, Ñ Ð½ÐµÐ±Ð¾Ð»ÑÑим обÑемом ÑеализаÑии.
ÐÑÐ¾Ñ Ñаздел опиÑÑÐ²Ð°ÐµÑ ÑÑаÑÑÑ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ докÑменÑа на Ð¼Ð¾Ð¼ÐµÐ½Ñ ÐµÐ³Ð¾ пÑбликаÑии. ÐÑÑгие докÑменÑÑ Ð¼Ð¾Ð³ÑÑ Ð·Ð°Ð¼ÐµÐ½ÑÑÑ ÑÑÐ¾Ñ Ð´Ð¾ÐºÑменÑ. Со ÑпиÑком ÑекÑÑÐ¸Ñ Ð¿ÑбликаÑий W3C и поÑледней Ñевизией ÑÑого ÑÐµÑ Ð½Ð¸ÑеÑкого доклада можно ознакомиÑÑÑÑ Ð² индекÑе ÑÐµÑ Ð½Ð¸ÑеÑÐºÐ¸Ñ Ð´Ð¾ÐºÐ»Ð°Ð´Ð¾Ð² W3C на http://www.w3.org/TR/.
СпеÑиÑикаÑÐ¸Ñ Ð¾Ð±Ñ Ð¾Ð´Ð° ÑлеменÑа ÑвлÑеÑÑÑ Ð ÐµÐºÐ¾Ð¼ÐµÐ½Ð´Ð°Ñией Ð¾Ñ 22 декабÑÑ 2008 года.
ÐÑÐ¾Ñ Ð´Ð¾ÐºÑÐ¼ÐµÐ½Ñ Ð±Ñл ÑаÑÑмоÑÑен Ñленами W3C, ÑазÑабоÑÑиками пÑогÑаммного обеÑпеÑениÑ, а Ñакже дÑÑгими гÑÑппами W3C и заинÑеÑеÑованнÑми ÑÑоÑонами, и одобÑен ÐиÑекÑоÑом в каÑеÑÑве РекомендаÑии W3C. ÐÑо ÑÑабилÑнÑй докÑÐ¼ÐµÐ½Ñ Ð¸ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¸ÑполÑзован в каÑеÑÑве ÑпÑавоÑного маÑеÑиала или ÑиÑÐ°Ñ Ð² дÑÑгом докÑменÑе. Ð Ð¾Ð»Ñ W3C в ÑазÑабоÑке РекомендаÑии, заклÑÑаеÑÑÑ Ð² пÑивлеÑении Ð²Ð½Ð¸Ð¼Ð°Ð½Ð¸Ñ Ðº ÑпеÑиÑикаÑии, и ÑпоÑобÑÑвоваÑÑ ÐµÐµ ÑиÑÐ¾ÐºÐ¾Ð¼Ñ ÑаÑпÑоÑÑÑанениÑ. ÐÑо повÑÑÐ°ÐµÑ ÑÑнкÑионалÑноÑÑÑ Ð¸ ÑовмеÑÑимоÑÑÑ Ð² Ðеб(Web).
РабоÑÐ°Ñ Ð³ÑÑппа Ðеб-пÑиложений (WebApps) подгоÑовила Ð½Ð°Ð±Ð¾Ñ ÑеÑÑов и оÑÑÐµÑ Ð¾ ÑеализаÑии, ÑÑÐ¾Ð±Ñ ÑказаÑÑ Ð½Ð° ÑекÑÑий ÑÑÐ¾Ð²ÐµÐ½Ñ Ð¿Ð¾Ð´Ð´ÐµÑживаемой ÑеализаÑии данной ÑпеÑиÑикаÑии, Ñ Ð¿ÐµÑедаÑей ÑезÑлÑÑаÑов Ð´Ð»Ñ Ð²ÑÐµÑ ÑеÑÑов. Ðе бÑло Ð½Ð¸ÐºÐ°ÐºÐ¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹, наÑÐ¸Ð½Ð°Ñ Ñ ÐÑедложенной РекомендаÑии.
ÐожалÑйÑÑа, пÑиÑÑлайÑе вопÑоÑÑ Ð¸ комменÑаÑии оÑноÑиÑелÑно ÑÑой ÑпеÑиÑикаÑии по адÑеÑÑ [email protected], пÑблиÑнÑй ÑпиÑок ÑлекÑÑоннÑÑ Ð¿Ð¸Ñем Ð´Ð»Ñ Ð²Ð¾Ð¿ÑоÑов, каÑаÑÑÐ¸Ñ ÑÑ ÑезÑлÑÑаÑов WebApps WG. ÐÑÐ¾Ñ ÑпиÑок Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑ Ð² пÑблиÑном аÑÑ Ð¸Ð²Ðµ, и пÑинÑÑие ÑÑой полиÑики аÑÑ Ð¸Ð²Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð·Ð°Ð¿ÑаÑиваеÑÑÑ Ð°Ð²ÑомаÑиÑеÑки поÑле пеÑвого ÑообÑениÑ. ЧÑÐ¾Ð±Ñ Ð¿Ð¾Ð´Ð¿Ð¸ÑаÑÑÑÑ Ð½Ð° ÑÑÐ¾Ñ ÑпиÑок оÑпÑавÑÑе пиÑÑмо по адÑеÑÑ [email protected] Ñо Ñловом "subscribe" в Ñеме пиÑÑма.
ÐÑÐ¾Ñ Ð´Ð¾ÐºÑÐ¼ÐµÐ½Ñ Ð±Ñл подгоÑовлен РабоÑей гÑÑппой Ðеб-пÑиложений (WebApps), в ÑÐ°Ð¼ÐºÐ°Ñ W3C Rich Web Clients Activity, в ÑооÑвеÑÑÑвии Ñ Ð¸Ð·Ð»Ð¾Ð¶ÐµÐ½Ð½Ñми пÑоÑедÑÑами Ð´Ð»Ñ W3C Process.
ÐнÑеÑÑÐµÐ¹Ñ ElementTraversal
бÑл пеÑвонаÑалÑно опÑбликован как ÑаÑÑÑ ÑпеÑиÑикаÑии SVG Tiny 1.2 в пÑоÑÑÑанÑÑве имен SVG. Ðо ÑÑÐµÐ±Ð¾Ð²Ð°Ð½Ð¸Ñ SVG, CDF, JCP, и дÑÑгиÑ
гÑÑпп, он бÑл пеÑедан в WebAPI WG, и пеÑенеÑен в DOM и пÑоÑÑÑанÑÑво имен DOM, в каÑеÑÑве обÑего обÑекÑа. Ðн бÑл пеÑедан еÑе Ñаз, когда WebApps WG взÑл на ÑÐµÐ±Ñ Ð¾ÑвеÑÑÑвенноÑÑÑ Ð·Ð° поÑÑавлÑемÑе компоненÑÑ WebAPI WG.
ÐÑÐ¾Ñ Ð´Ð¾ÐºÑÐ¼ÐµÐ½Ñ Ð±Ñл подгоÑовлен гÑÑппой, дейÑÑвÑÑ Ð² ÑÐ°Ð¼ÐºÐ°Ñ ÐаÑенÑной ÐолиÑики W3C Ð¾Ñ 5 ÑевÑÐ°Ð»Ñ 2004 года. W3C поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð¿ÑблиÑнÑй ÑпиÑок оÑкÑÑÑÑÑ Ð¿Ð°ÑенÑов ÑделаннÑй в ÑвÑзи Ñ ÑезÑлÑÑаÑами деÑÑелÑноÑÑи гÑÑппÑ; ÑÑа ÑÑÑаниÑа Ñакже вклÑÑÐ°ÐµÑ Ð² ÑÐµÐ±Ñ Ð¸Ð½ÑÑÑÑкÑии по ÑаÑкÑÑÑÐ¸Ñ Ð¿Ð°ÑенÑа. ÐиÑа, обладаÑÑие акÑÑалÑной инÑоÑмаÑией о паÑенÑе, коÑоÑÑй ÑдовлеÑвоÑÑÐµÑ ÐÑновнÑм ÑÑебованиÑм, Ð´Ð¾Ð»Ð¶Ð½Ñ ÑаÑкÑÑÑÑ ÑÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ ÑоглаÑно пÑнкÑÑ 6 паÑенÑной полиÑики W3C.
1. ÐведениеÐÑÐ¾Ñ Ñаздел ÑвлÑеÑÑÑ Ð¸Ð½ÑоÑмаÑивнÑм.
ÐнÑеÑÑÐµÐ¹Ñ Node
в DOM УÑÐ¾Ð²ÐµÐ½Ñ 1, опÑеделÑÐµÑ 11 Ñипов Ñзла, но обÑÑно авÑоÑÑ Ñ
оÑÑÑ ÑабоÑаÑÑ Ð¸ÑклÑÑиÑелÑно на nodeType
1
, Ñзел Element
. ÐÑÑгие ÑÐ¸Ð¿Ñ Ñзла вклÑÑаÑÑ Ð² ÑÐµÐ±Ñ ÑÐ»ÐµÐ¼ÐµÐ½Ñ Document
и Ñзел Text
, коÑоÑÑе ÑодеÑÐ¶Ð°Ñ Ð² Ñебе пÑобел и ÑазÑÑÐ²Ñ ÑÑÑоки. Узел обÑ
ода DOM 1 вклÑÑÐ°ÐµÑ Ð² ÑÐµÐ±Ñ Ð²Ñе ÑÑи ÑÐ¸Ð¿Ñ Ñзлов, коÑоÑÑе ÑаÑÑо ÑвлÑÑÑÑÑ Ð¸ÑÑоÑником беÑпоÑÑдка Ð´Ð»Ñ Ð°Ð²ÑоÑов и коÑоÑÑе ÑÑебÑÑÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑнÑй Ñаг Ð´Ð»Ñ Ð°Ð²ÑоÑов, ÑÑÐ¾Ð±Ñ Ð¿Ð¾Ð´ÑвеÑдиÑÑ, ÑÑо ожидаемÑе инÑеÑÑейÑÑ Ñзла Element
доÑÑÑпнÑ. ÐÑо вноÑÐ¸Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑнÑе огÑаниÑÐµÐ½Ð¸Ñ Ð² пÑоизводиÑелÑноÑÑи.
ElementTraversal
- ÑÑо инÑеÑÑейÑ, коÑоÑÑй позволÑÐµÑ Ð°Ð²ÑоÑам огÑаниÑиваÑÑ Ð½Ð°Ð²Ð¸Ð³Ð°ÑÐ¸Ñ Ð¿Ð¾ Ñзлам Element
. ÐÑо позволÑÐµÑ Ð¾ÑÑÑеÑÑвлÑÑÑ Ð¿ÐµÑемеÑение Ð¾Ñ ÑлеменÑа к его пеÑÐ²Ð¾Ð¼Ñ Ð´Ð¾ÑеÑÐ½ÐµÐ¼Ñ ÑлеменÑÑ, его поÑÐ»ÐµÐ´Ð½ÐµÐ¼Ñ Ð´Ð¾ÑеÑÐ½ÐµÐ¼Ñ ÑлеменÑÑ Ð¸ до его ÑледÑÑÑего или пÑедÑдÑÑего ÑлеменÑа коÑоÑÑй наÑ
одиÑÑÑ Ð½Ð° одном ÑÑовне Ñ Ð½Ð¸Ð¼. ÐоÑколÑÐºÑ ÑеализаÑÐ¸Ñ Ð¿ÑедÑÑавлÑÐµÑ Ñобой ÑолÑко ÑÐ·Ð»Ñ ÑлеменÑа, памÑÑÑ Ð¸ вÑÑиÑлиÑелÑное меÑÑо пÑедÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ DOM могÑÑ Ð±ÑÑÑ Ð¾Ð¿ÑимизиÑÐ¾Ð²Ð°Ð½Ñ Ð´Ð»Ñ Ð¾Ð³ÑаниÑеннÑÑ
ÑÑÑÑойÑÑв.
ÐнÑеÑÑÐµÐ¹Ñ Node
в DOM УÑÐ¾Ð²ÐµÐ½Ñ 1, Ñакже опÑеделÑÐµÑ Ð°ÑÑибÑÑ childNodes
, коÑоÑÑй ÑвлÑеÑÑÑ Ð¶Ð¸Ð²Ñм ÑпиÑком вÑеÑ
доÑеÑниÑ
Ñзлов одного Ñзла; ÑпиÑок childNodes
Ð¸Ð¼ÐµÐµÑ Ð°ÑÑибÑÑ length
, коÑоÑÑй ÑлÑÐ¶Ð¸Ñ Ð´Ð»Ñ Ñого, ÑÑÐ¾Ð±Ñ Ð²ÑÑвиÑÑ Ð¾Ð±Ñее колиÑеÑÑво доÑеÑниÑ
Ñзлов во вÑеÑ
nodeTypes
, ÑÑо полезно Ð´Ð»Ñ Ð¿ÑедваÑиÑелÑной обÑабоÑки опеÑаÑий и вÑÑиÑлений пеÑед, или вмеÑÑо, ÑиклиÑного вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÑеÑез доÑеÑние ÑзлÑ. У инÑеÑÑейÑа ElementTraversal
еÑÑÑ Ð¿Ð¾Ð´Ð¾Ð±Ð½Ñй аÑÑибÑÑ, childElementCount
, коÑоÑÑй ÑообÑÐ°ÐµÑ ÑолÑко ÑиÑло Ñзлов Element
, коÑоÑÑй ÑаÑÑо ÑвлÑеÑÑÑ Ñем, ÑÑо ÑÑебÑеÑÑÑ Ð´Ð»Ñ ÑакиÑ
опеÑаÑий.
ÐÑа ÑпеÑиÑикаÑÐ¸Ñ Ð½Ðµ вклÑÑÐ°ÐµÑ Ð² ÑÐµÐ±Ñ Ð¿Ð¾Ð»Ð½Ñй ÑпиÑок аÑÑибÑÑов, меÑодов, и дÑÑгиÑ
инÑеÑÑейÑов, доÑÑÑпнÑÑ
в обÑекÑе Element
. ÐополниÑелÑнÑе инÑеÑÑейÑÑ Ð½Ð°Ñ
одÑÑÑÑ Ð² дÑÑгиÑ
ÑпеÑиÑикаÑиÑÑ
, в ÑаÑÑноÑÑи, ÑпеÑиÑикаÑии DOM Core.
ÐÑÐ¾Ñ Ñаздел ÑвлÑеÑÑÑ Ð½Ð¾ÑмаÑивнÑм.
ÐлÑÑевÑе Ñлова "ÐÐЯÐÐÐ (MUST)", "ÐÐ ÐÐЯÐÐÐ (MUST NOT)", "ÐÐÐÐÐ¥ÐÐÐÐ (REQUIRED)", "ÐÐÐÐÐÐ (SHALL)", "ÐÐ ÐÐÐÐÐÐ (SHALL NOT)", "СÐÐÐУÐТ (SHOULD)", "ÐРСÐÐÐУÐТ (SHOULD NOT)", "Ð ÐÐÐÐÐÐÐУÐТСЯ (RECOMMENDED)", "ÐÐÐÐТ (MAY)", и "ÐÐÐÐЯÐÐТÐÐЬÐЫР(OPTIONAL)" в ÑÑом докÑменÑе Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¸Ð½ÑеÑпÑеÑиÑоваÑÑÑÑ, как опиÑано в RFC 2119 [RFC2119]. Ð ÑелÑÑ ÑдобоÑиÑаемоÑÑи ÑÑи ÑеÑÐ¼Ð¸Ð½Ñ Ð½Ðµ обÑзаÑелÑно иÑполÑзоваÑÑ Ð² ÑегиÑÑÑозавиÑимом ÑпоÑобе в ÑÑом докÑменÑе.
Ðногда, Ð´Ð»Ñ ÑдобоÑиÑаемоÑÑи, ÑÑÐµÐ±Ð¾Ð²Ð°Ð½Ð¸Ñ ÑооÑвеÑÑÑÐ²Ð¸Ñ ÑоÑмÑлиÑÑÑÑÑÑ, как ÑÑÐµÐ±Ð¾Ð²Ð°Ð½Ð¸Ñ Ðº ÑлеменÑам, аÑÑибÑÑам, меÑодам, инÑеÑÑейÑам, ÑвойÑÑвам или ÑÑнкÑиÑм. Ðо вÑÐµÑ ÑлÑÑаÑÑ Ð¾Ð½Ð¸ ÑвлÑÑÑÑÑ ÑÑебованиÑми ÑооÑвеÑÑÑÐ²Ð¸Ñ Ðº ÑеализаÑиÑм. СооÑвеÑÑÑвÑÑÑÐ°Ñ ÑеализаÑÐ¸Ñ ÑÑой ÑпеÑиÑикаÑии ÑдовлеÑвоÑÑÐµÑ Ð²Ñе ÑÑебованиÑ, иденÑиÑиÑиÑованнÑе пÑи помоÑи ÑÑÐ¸Ñ ÑеÑминов, в пÑÐµÐ´ÐµÐ»Ð°Ñ ÐµÐµ пÑивÑзок к ÑзÑкÑ.
2. ÐнÑеÑÑейÑElementTraversal
ÐÑÐ¾Ñ Ñаздел ÑвлÑеÑÑÑ Ð½Ð¾ÑмаÑивнÑм.
ÐнÑеÑÑÐµÐ¹Ñ ElementTraversal
пÑедÑÑавлÑÐµÑ Ñобой Ð½Ð°Ð±Ð¾Ñ Ð°ÑÑибÑÑов ÑолÑко Ð´Ð»Ñ ÑÑениÑ, коÑоÑÑе позволÑÑÑ Ð°Ð²ÑоÑÑ Ð»ÐµÐ³ÐºÐ¾ пеÑемеÑаÑÑÑÑ Ð¼ÐµÐ¶Ð´Ñ ÑлеменÑами в докÑменÑе. Ð ÑооÑвеÑÑÑвÑÑÑиÑ
ÑеализаÑиÑÑ
ÐбÑ
ода ÐлеменÑа, вÑе обÑекÑÑ ÐºÐ¾ÑоÑÑе ÑеализÑÑÑ Element
, Ð´Ð¾Ð»Ð¶Ð½Ñ Ñакже ÑеализовÑваÑÑ Ð¸Ð½ÑеÑÑÐµÐ¹Ñ ElementTraversal
. ÐаждÑй из ÑледÑÑÑиÑ
ÑеÑÑÑеÑ
аÑÑибÑÑов из набоÑа, firstElementChild
, lastElementChild
, previousElementSibling
, и nextElementSibling
, обеÑпеÑÐ¸Ð²Ð°ÐµÑ Ð¶Ð¸Ð²ÑÑ ÑÑÑÐ»ÐºÑ Ð½Ð° дÑÑгой ÑÐ»ÐµÐ¼ÐµÐ½Ñ Ñ Ð¾Ð¿ÑеделеннÑм оÑноÑением к ÑекÑÑÐµÐ¼Ñ ÑлеменÑÑ, еÑли ÑвÑзаннÑй ÑÐ»ÐµÐ¼ÐµÐ½Ñ ÑÑÑеÑÑвÑеÑ. ÐÑÑÑй аÑÑибÑÑ, childElementCount
, пÑедоÑÑавлÑÐµÑ ÑиÑло доÑеÑниÑ
ÑлеменÑов ÑлеменÑа, Ð´Ð»Ñ Ñого, ÑÑÐ¾Ð±Ñ Ð¿ÑедваÑиÑелÑно обÑабоÑаÑÑ Ð¿ÐµÑед навигаÑией. СооÑвеÑÑÑвÑÑÑее полÑзоваÑелÑÑкое пÑиложение должно ÑеализоваÑÑ Ð²Ñе пÑÑÑ Ð°ÑÑибÑÑов. ÐолÑзоваÑелÑÑкое пÑиложение Ð¼Ð¾Ð¶ÐµÑ ÑеализоваÑÑ Ð¿Ð¾Ð´Ð¾Ð±Ð½Ñе инÑеÑÑейÑÑ Ð² дÑÑгиÑ
ÑпеÑиÑикаÑиÑÑ
, но ÑÐ°ÐºÐ°Ñ ÑеализаÑÐ¸Ñ Ð½Ðµ ÑÑебÑеÑÑÑ Ð´Ð»Ñ ÑооÑвеÑÑÑÐ²Ð¸Ñ Ðº ÑÑой ÑпеÑиÑикаÑии, еÑли полÑзоваÑелÑÑкое пÑиложение ÑазÑабоÑано Ð´Ð»Ñ Ð¼Ð¸Ð½Ð¸Ð¼Ð°Ð»Ñного обÑема кода.
ÐÑÐ¾Ñ Ð¸Ð½ÑеÑÑÐµÐ¹Ñ Ð´Ð¾Ð»Ð¶ÐµÐ½ бÑÑÑ Ñеализован на вÑеÑ
Element
, незавиÑимо Ð¾Ñ Ð¸Ñ
пÑоÑÑÑанÑÑва имен. Ð£Ð·Ð»Ñ EntityReference не Ð²Ð¸Ð´Ð¸Ð¼Ñ Ð¼ÐµÑ
Ð°Ð½Ð¸Ð·Ð¼Ñ ÐбÑ
ода ÐлеменÑа; еÑли обÑ
одÑик деÑева(tree-walker) ÑлÑÑайно вÑÑÑеÑÐ°ÐµÑ Ñзел EntityReference, он ÑпÑÑкаеÑÑÑ Ð² него, не ÑообÑÐ°Ñ Ð¾Ð± ÑÑом вÑзÑваÑÑей пÑогÑамме, и обÑабаÑÑÐ²Ð°ÐµÑ Ð»ÑбÑе доÑеÑние ÑлеменÑÑ Ñак, как еÑли Ð±Ñ Ð¾Ð½Ð¸ пÑиÑÑÑÑÑвовали в Ñом меÑÑе, где Ñзел обÑекÑа бÑл найден. ÐавигаÑÐ¸Ñ Ð¾Ð±Ñзана бÑÑÑ Ð½ÐµÐ·Ð°Ð²Ð¸Ñимо Ð¾Ñ Ð¿ÑоÑÑÑанÑÑва имен, напÑимеÑ, еÑли ÑÐ»ÐµÐ¼ÐµÐ½Ñ Ð² пÑоÑÑÑанÑÑве имен HTML бÑÐ´ÐµÑ ÑопÑовождаÑÑÑÑ ÑлеменÑом в пÑоÑÑÑанÑÑве имен SVG, Ñо аÑÑибÑÑ nextElementSibling
ÑлеменÑа HTML возвÑаÑÐ¸Ñ ÑÐ»ÐµÐ¼ÐµÐ½Ñ SVG.
firstElementChild
ÐолÑÑив доÑÑÑп к ÑÑÐ¾Ð¼Ñ Ð°ÑÑибÑÑÑ ÑлеменÑа должен возвÑаÑиÑÑ ÑÑÑÐ»ÐºÑ Ð½Ð° пеÑвÑй доÑеÑний Ñзел Ñого ÑлеменÑа, коÑоÑÑй Ð¸Ð¼ÐµÐµÑ nodeType
1
, как обÑÐµÐºÑ Element
. ÐÑли ÑлеменÑ, к коÑоÑÐ¾Ð¼Ñ Ð¿Ð¾Ð»ÑÑаÑÑ Ð´Ð¾ÑÑÑп к ÑÑÐ¾Ð¼Ñ Ð°ÑÑибÑÑÑ, не Ð¸Ð¼ÐµÐµÑ Ð´Ð¾ÑеÑниÑ
Ñзлов, или еÑли ни один из ÑÑиÑ
доÑеÑниÑ
Ñзлов не ÑвлÑеÑÑÑ Ñзлом ÑлеменÑа, Ñо ÑÑÐ¾Ñ Ð°ÑÑибÑÑ Ð´Ð¾Ð»Ð¶ÐµÐ½ веÑнÑÑÑ null
.
lastElementChild
ÐолÑÑив доÑÑÑп к ÑÑÐ¾Ð¼Ñ Ð°ÑÑибÑÑÑ ÑлеменÑа должен возвÑаÑиÑÑ ÑÑÑÐ»ÐºÑ Ð½Ð° поÑледний доÑеÑний Ñзел Ñого ÑлеменÑа, коÑоÑÑй Ð¸Ð¼ÐµÐµÑ nodeType
1
, как обÑÐµÐºÑ Element
. ÐÑли Ñ ÑлеменÑа, к коÑоÑÐ¾Ð¼Ñ Ð¿Ð¾Ð»ÑÑаÑÑ Ð´Ð¾ÑÑÑп к ÑÑÐ¾Ð¼Ñ Ð°ÑÑибÑÑÑ, Ð½ÐµÑ Ð½Ð¸ÐºÐ°ÐºÐ¸Ñ
доÑеÑниÑ
Ñзлов, или ни один из ÑÑиÑ
доÑеÑниÑ
Ñзлов не ÑвлÑеÑÑÑ Ñзлом ÑлеменÑа, в Ñаком ÑлÑÑае ÑÑÐ¾Ñ Ð°ÑÑибÑÑ Ð´Ð¾Ð»Ð¶ÐµÐ½ веÑнÑÑÑ null
.
previousElementSibling
ÐолÑÑив доÑÑÑп к ÑÑÐ¾Ð¼Ñ Ð°ÑÑибÑÑÑ ÑлеменÑа должен возвÑаÑиÑÑ ÑÑÑÐ»ÐºÑ Ð½Ð° одноÑÑовневÑй Ñзел Ñого ÑлеменÑа, коÑоÑÑй непоÑÑедÑÑвенно пÑедÑеÑÑвÑÐµÑ ÑÐ¾Ð¼Ñ ÑлеменÑÑ Ð² поÑÑдке ÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² докÑменÑе, и коÑоÑÑй Ð¸Ð¼ÐµÐµÑ nodeType
1
, как обÑÐµÐºÑ Element
. ÐÑли Ñ ÑлеменÑа, к коÑоÑÐ¾Ð¼Ñ Ð¿Ð¾Ð»ÑÑаÑÑ Ð´Ð¾ÑÑÑп к ÑÑÐ¾Ð¼Ñ Ð°ÑÑибÑÑÑ, Ð½ÐµÑ Ð½Ð¸ÐºÐ°ÐºÐ¸Ñ
пÑедÑдÑÑиÑ
одноÑÑовневÑÑ
Ñзлов, или еÑли ни один из ÑеÑ
, коÑоÑÑе пÑедÑеÑÑвÑÑÑ Ð¾Ð´Ð½Ð¾ÑÑовневÑм Ñзлам, не ÑвлÑÑÑÑÑ Ñзлами ÑлеменÑа, Ñо ÑÑÐ¾Ñ Ð°ÑÑибÑÑ Ð´Ð¾Ð»Ð¶ÐµÐ½ возвÑаÑиÑÑ null
.
nextElementSibling
ÐолÑÑив доÑÑÑп к ÑÑÐ¾Ð¼Ñ Ð°ÑÑибÑÑÑ ÑлеменÑа должен возвÑаÑиÑÑ ÑÑÑÐ»ÐºÑ Ð½Ð° одноÑÑовневÑй Ñзел Ñого ÑлеменÑа, коÑоÑÑй непоÑÑедÑÑвенно ÑледÑÐµÑ Ð·Ð° Ñем ÑлеменÑом в поÑÑдке ÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² докÑменÑе, и коÑоÑÑй Ð¸Ð¼ÐµÐµÑ nodeType
1
, как обÑÐµÐºÑ Element
. ÐÑли Ñ ÑлеменÑа, к коÑоÑÐ¾Ð¼Ñ Ð¿Ð¾Ð»ÑÑаÑÑ Ð´Ð¾ÑÑÑп к ÑÑÐ¾Ð¼Ñ Ð°ÑÑибÑÑÑ, Ð½ÐµÑ Ð½Ð¸ÐºÐ°ÐºÐ¸Ñ
поÑледÑÑÑиÑ
одноÑÑовневÑÑ
Ñзлов, или еÑли ни один из ÑеÑ
поÑледÑÑÑиÑ
Ñзлов не ÑвлÑеÑÑÑ Ñзлом ÑлеменÑа, Ñо ÑÑÐ¾Ñ Ð°ÑÑибÑÑ Ð´Ð¾Ð»Ð¶ÐµÐ½ возвÑаÑиÑÑ null
.
childElementCount
ÐолÑÑив доÑÑÑп к ÑÑÐ¾Ð¼Ñ Ð°ÑÑибÑÑÑ ÑлеменÑа должен возвÑаÑиÑÑ ÑекÑÑее ÑиÑло доÑеÑниÑ
Ñзлов Ñого ÑлеменÑа, коÑоÑÑй Ð¸Ð¼ÐµÐµÑ nodeType
1
. РеализаÑÐ¸Ñ Ð¼Ð¾Ð¶ÐµÑ ÑоÑ
ÑаниÑÑ ÑÑо ÑиÑло, или Ð¼Ð¾Ð¶ÐµÑ Ð²ÑÑиÑлиÑÑ ÐµÐ³Ð¾ пÑи полÑÑении доÑÑÑпа к ÑÑÐ¾Ð¼Ñ Ð°ÑÑибÑÑÑ, но ÑиÑло должно вÑегда оÑобÑажаÑÑ ÑиÑло доÑеÑниÑ
Ñзлов ÑлеменÑа во вÑÐµÐ¼Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ Ð´Ð¾ÑÑÑпа к аÑÑибÑÑÑ. СÑиÑаÑÑÑÑ Ð´Ð¾Ð»Ð¶Ð½Ñ ÑолÑко непоÑÑедÑÑвеннÑе доÑеÑние ÑзлÑ, напÑимеÑ, ÑлеменÑÑ, коÑоÑÑе ÑвлÑÑÑÑÑ Ð´Ð¾ÑеÑними Ñзлами одного из доÑеÑниÑ
Ñзлов ÑлеменÑа, на коÑоÑом полÑÑаÑÑ Ð´Ð¾ÑÑÑп к аÑÑибÑÑÑ, не вклÑÑÐµÐ½Ñ Ð² ÑÑÐ¾Ñ Ð¿Ð¾Ð´ÑÑеÑ. ÐÑли Ñ ÑлеменÑа, на коÑоÑом полÑÑаÑÑ Ð´Ð¾ÑÑÑп к ÑÑÐ¾Ð¼Ñ Ð°ÑÑибÑÑÑ, Ð½ÐµÑ Ð½Ð¸ÐºÐ°ÐºÐ¸Ñ
доÑеÑниÑ
Ñзлов, или еÑли ни один из ÑеÑ
доÑеÑниÑ
Ñзлов не ÑвлÑеÑÑÑ Ñзлом ÑлеменÑа, Ñогда ÑÑÐ¾Ñ Ð°ÑÑибÑÑ Ð´Ð¾Ð»Ð¶ÐµÐ½ возвÑаÑиÑÑ 0.
ÐÑÐ¾Ñ Ñаздел ÑвлÑеÑÑÑ Ð¸Ð½ÑоÑмаÑивнÑм.
ÐÑÐ¾Ñ Ñаздел иллÑÑÑÑиÑÑÐµÑ Ð½ÐµÑколÑко пÑимеÑов ECMAScript [ECMA262], иÑполÑзÑÑ ÐÐ±Ñ Ð¾Ð´ ÐлеменÑа.
3.1. ÐÑимеÑpreviousElementSibling
ÐÑÐ¾Ñ Ð¿ÑÐ¸Ð¼ÐµÑ Ð´ÐµÐ¼Ð¾Ð½ÑÑÑиÑÑÐµÑ Ð¿Ð¾Ð»ÐµÐ·Ð½Ð¾ÑÑÑ Ð°ÑÑибÑÑа previousElementSibling
. СледÑÑÑий код беÑÐµÑ ÑÐ»ÐµÐ¼ÐµÐ½Ñ Ð² каÑеÑÑве паÑамеÑÑа, и возвÑаÑÐ°ÐµÑ Ð¿Ð¾Ð·Ð¸ÑÐ¸Ñ ÑлеменÑа в поÑÑдке ÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² докÑменÑе, в пÑеделаÑ
его ÑодиÑелÑ:
function findPosition( el ) { var pos = 0; // Ñаг ÑеÑез доÑеÑние ÑлеменÑÑ Ð² обÑаÑном поÑÑдке while ( null != el ) { // пеÑемеÑение к пÑедÑдÑÑÐµÐ¼Ñ Ð¾Ð´Ð½Ð¾ÑÑÐ¾Ð²Ð½ÐµÐ²Ð¾Ð¼Ñ ÑлеменÑÑ el = el.previousElementSibling; pos++; } return pos; }3.2. ÐÑÐ¸Ð¼ÐµÑ Ð¿ÑедваÑиÑелÑного вÑÑиÑÐ»ÐµÐ½Ð¸Ñ Ð·Ð½Ð°Ñений и ÑиклиÑного вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÑеÑез ÑлеменÑÑ
ÐÑÐ¾Ñ Ð¿ÑÐ¸Ð¼ÐµÑ Ð´ÐµÐ¼Ð¾Ð½ÑÑÑиÑÑÐµÑ Ð¿Ð¾Ð»ÐµÐ·Ð½Ð¾ÑÑÑ Ð°ÑÑибÑÑа childElementCount
. СледÑÑÑий код беÑÐµÑ ÑÐ»ÐµÐ¼ÐµÐ½Ñ Ð² каÑеÑÑве паÑамеÑÑа, и ÑазмеÑÐ°ÐµÑ ÑавноÑдалено каждÑй из его доÑеÑниÑ
ÑлеменÑов, ÑоглаÑно ÑÐ²Ð¾Ð±Ð¾Ð´Ð½Ð¾Ð¼Ñ Ð¼ÐµÑÑÑ:
function spaceChildren( el ) { // полÑÑение колиÑеÑÑва Ñзлов ÑлеменÑа var elCount = el.childElementCount; var eachWidth = window.innerWidth / (elCount + 1); // полÑÑение пеÑвого доÑеÑнего ÑлеменÑа var childEl = el.firstElementChild; // задание наÑалÑной позиÑии var nextPos = eachWidth/2; // пеÑÐµÐ±Ð¾Ñ Ð´Ð¾ÑеÑÐ½Ð¸Ñ ÑлеменÑов Ñ ÐµÐ´Ð¸Ð½Ð¸ÑнÑм Ñагом while ( childEl ) { // позиÑÐ¸Ñ Ð´Ð¾ÑеÑнего ÑлеменÑа childEl.style.setProperty( 'position', 'absolute', '' ); childEl.style.setProperty( 'left', nextPos + 'px', '' ); childEl.style.setProperty( 'width', eachWidth + 'px', '' ); // ÑвелиÑение позиÑии по ÑиÑине nextPos += eachWidth; // заÑем пеÑемеÑение к ÑледÑÑÑÐµÐ¼Ñ Ð´Ð¾ÑеÑÐ½ÐµÐ¼Ñ ÑлеменÑÑ childEl = childEl.nextElementSibling; } }3.3. ÐÑÐ¸Ð¼ÐµÑ ÑÑÐ°Ð²Ð½ÐµÐ½Ð¸Ñ Ñ Ð´ÑÑгими инÑеÑÑейÑами DOM
ÐÑÐ¾Ñ Ð¿ÑÐ¸Ð¼ÐµÑ ÑопоÑÑавлÑÐµÑ ElementTraversal
Ñ Ð´ÑÑгими инÑеÑÑейÑами DOM. СледÑÑÑий ÑÑенаÑий показÑÐ²Ð°ÐµÑ ÑазлиÑнÑе меÑÐ¾Ð´Ñ Ð¸ÑеÑаÑии ÑеÑез деÑево DOM, ÑÑиÑÑÐ²Ð°Ñ ÑледÑÑÑий ÑÑÐ°Ð³Ð¼ÐµÐ½Ñ SVG:
<g id='shapeGroup'> <rect id='rect1' x='5' y='5' width='310' height='220' rx='15' ry='15' fill='skyblue'/> <rect id='rect2' x='15' y='15' width='210' height='180' rx='15' ry='15' fill='cornflowerblue'/> <ellipse id='ellipse1' cx='90' cy='70' rx='50' ry='30' fill='yellow' stroke='orange'/> <path id='path1' stroke-width='15' stroke='orange' fill='none' stroke-linecap='round' d='M25,150 C180,180 290,0 400,140 S420,100 460,90'/> <text id='text1' x='0' y='0' font-size='35' fill='yellow' stroke='orange' stroke-width='2' stroke-linejoin='round' font-weight='bold'> <textPath id='textPath1' xlink:href="#path1">when life gives you lemons...</textPath></text> </g>
function walkTest( el ) { // полÑÑение колиÑеÑÑва вÑÐµÑ Ñзлов var nodeCount = el.childNodes.length; // полÑÑение пеÑвого доÑеÑнего Ñзла var firstNode = el.firstChild; // полÑÑение пеÑвого доÑеÑнего ÑлеменÑа var childEl = el.firstElementChild; // пеÑÐµÐ±Ð¾Ñ Ð´Ð¾ÑеÑÐ½Ð¸Ñ ÑлеменÑов Ñ ÐµÐ´Ð¸Ð½Ð¸ÑнÑм Ñагом while ( childEl ) { // делаем ÑÑо-Ñо полезное здеÑÑ... // заÑем пеÑемеÑаемÑÑ Ðº ÑледÑÑÑÐµÐ¼Ñ Ð´Ð¾ÑеÑÐ½ÐµÐ¼Ñ ÑлеменÑÑ childEl = childEl.nextElementSibling; } }
Ðде el ÑвлÑеÑÑÑ ÑлеменÑом 'g'
имеÑÑий 'id'
"shapeGroup"
, nodeCount бÑÐ´ÐµÑ Ð¸Ð¼ÐµÑÑ Ð·Ð½Ð°Ñение 11
. firstNode бÑÐ´ÐµÑ Ñзлом Text
(nodeType
3
), и не ÑквиваленÑен пеÑÐ²Ð¾Ð¼Ñ Ð¿ÑиÑÐ²Ð¾ÐµÐ½Ð½Ð¾Ð¼Ñ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ childEl, коÑоÑÑй ÑвлÑеÑÑÑ Ñзлом Element
(nodeType
1
) имеÑÑий 'id'
"rect1"
. Цикл while
ÑиклиÑеÑки повÑоÑиÑÑÑ ÐµÑе 4 Ñаза, вÑполнÑÑ Ð¸ÑеÑаÑии ÑеÑез одноÑÑовневÑе ÑÐ·Ð»Ñ Element
, ÑооÑвеÑÑÑвенно "rect2"
, "ellipse1"
, "path1"
, и "text1"
. РпоÑледнее знаÑение childEl бÑÐ´ÐµÑ null
, поÑколÑÐºÑ "text1"
не Ð¸Ð¼ÐµÐµÑ ÑледÑÑÑего одноÑÑовневого ÑлеменÑа, Ñ
оÑÑ Ñ Ð½ÐµÐ³Ð¾ еÑÑÑ ÑледÑÑÑий одноÑÑовневÑй Ñзел.
ÐÑмеÑÑÑе, ÑÑо ÑÐ»ÐµÐ¼ÐµÐ½Ñ 'text' в SVG не Ñо же Ñамое, ÑÑо Ñзел Text
. ÐÑмеÑÑÑе Ñакже, ÑÑо доÑеÑний ÑÐ»ÐµÐ¼ÐµÐ½Ñ 'textPath' в SVG ÑлеменÑа 'text' не вклÑÑен в иÑеÑаÑиÑ, поÑколÑÐºÑ Ð¾Ð½ не одноÑÑовневÑй Ñ childEl.
ÐÑÐ¾Ñ Ñаздел ÑвлÑеÑÑÑ Ð¸Ð½ÑоÑмаÑивнÑм.
4.1. DOM Level 1 CoreÐÑа ÑпеÑиÑикаÑÐ¸Ñ Ð¾Ð±ÐµÑпеÑÐ¸Ð²Ð°ÐµÑ Ð¸Ð½ÑеÑÑейÑ, коÑоÑÑй Ð¸Ð¼ÐµÐµÑ ÑÑнкÑионалÑное подобие аÑÑибÑÑам навигаÑии DOM из DOM 1 Core, но ÑабоÑÐ°ÐµÑ ÑолÑко на ÑзлаÑ
ÑлеменÑа, а не на дÑÑгиÑ
ÑипаÑ
Ñзла. СамÑми ÑовмеÑÑимÑми аÑÑибÑÑами DOM 1 Core ÑвлÑÑÑÑÑ firstChild
, lastChild
, previousSibling
, nextSibling
, и nodeList.length
.
ÐбÑекÑÐ½Ð°Ñ ÐÐ¾Ð´ÐµÐ»Ñ ÐокÑменÑа УÑÐ¾Ð²ÐµÐ½Ñ 2 ÐÐ±Ñ Ð¾Ð´ & Ðиапазон (Document Object Model Level 2 Traversal & Range) ÑÑо вÑеÑÑоÑоннÑÑ ÑпеÑиÑикаÑÐ¸Ñ Ð½Ð°Ð²Ð¸Ð³Ð°Ñии докÑменÑа, но коÑоÑÐ°Ñ Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾ÑÑебоваÑÑ Ð±Ð¾Ð»ÑÑе ÑеÑÑÑÑов Ð¾Ñ ÑÑÑÑойÑÑв и ÑазÑабоÑÑика, Ñем ÐÐ±Ñ Ð¾Ð´ ÐлеменÑа (Element Traversal). ÐоÑколÑÐºÑ ÐÐ±Ñ Ð¾Ð´ ÐлеменÑа ÑоÑÑÐ¾Ð¸Ñ Ð¸Ð· опÑимизиÑованного подмножеÑÑва ÑÑнкÑионалÑноÑÑи DOM 2 Traversal, полÑзоваÑелÑÑкое пÑиложение коÑоÑое вÑполнÑÐµÑ ÑÑо, в некоÑоÑой ÑÑепени Ð¼Ð¾Ð¶ÐµÑ ÑÑиливаÑÑ ÑÑнкÑионалÑноÑÑÑ ÐÐ±Ñ Ð¾Ð´Ð°.
4.3. DOM Level 3 CoreÐÑо дополниÑелÑнÑе ÑпеÑиÑикаÑии DOM 3 Core.
5. ÐбÑÑждение безопаÑноÑÑиÐÑÐ¾Ñ Ñаздел ÑвлÑеÑÑÑ Ð¸Ð½ÑоÑмаÑивнÑм.
ÐÐµÑ Ð½Ð¸ÐºÐ°ÐºÐ¸Ñ
извеÑÑнÑÑ
вопÑоÑов безопаÑноÑÑи, коÑоÑÑе вклÑÑÐµÐ½Ñ Ð² ÑеализаÑÐ¸Ñ Ð¸Ð»Ð¸ иÑполÑзование инÑеÑÑейÑа ElementTraversal
. ÐÑÐ¾Ñ Ñаздел должен бÑÑÑ Ð¿ÐµÑеÑмоÑÑен, еÑли в бÑдÑÑем, вопÑоÑÑ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑноÑÑи бÑдÑÑ Ð¾Ð±Ð½Ð°ÑÑженÑ.
firstElementChild
null
, еÑли ÑÑÐ¾Ñ ÑÐ»ÐµÐ¼ÐµÐ½Ñ Ð½Ðµ Ð¸Ð¼ÐµÐµÑ Ð´Ð¾ÑеÑниÑ
ÑлеменÑов.
lastElementChild
null
, еÑли ÑÑÐ¾Ñ ÑÐ»ÐµÐ¼ÐµÐ½Ñ Ð½Ðµ Ð¸Ð¼ÐµÐµÑ Ð´Ð¾ÑеÑниÑ
ÑлеменÑов.
previousElementSibling
null
, еÑли ÑÑÐ¾Ñ ÑÐ»ÐµÐ¼ÐµÐ½Ñ Ð½Ðµ Ð¸Ð¼ÐµÐµÑ Ð¾Ð´Ð½Ð¾ÑÑовневÑÑ
Ñзлов ÑлеменÑа, коÑоÑÑе идÑÑ Ð¿ÐµÑед ÑÑим ÑлеменÑом в деÑеве докÑменÑа.
nextElementSibling
null
, еÑли ÑÑÐ¾Ñ ÑÐ»ÐµÐ¼ÐµÐ½Ñ Ð½Ðµ Ð¸Ð¼ÐµÐµÑ Ð¾Ð´Ð½Ð¾ÑÑовневÑÑ
Ñзлов ÑлеменÑа, коÑоÑÑе идÑÑ Ð¿Ð¾Ñле ÑÑого ÑлеменÑа в деÑеве докÑменÑа.
childElementCount
0
, еÑли Ñ ÑÑого ÑлеменÑа Ð½ÐµÑ Ð½Ð¸ÐºÐ°ÐºÐ¸Ñ
доÑеÑниÑ
Ñзлов, коÑоÑÑе имеÑÑ nodeType
1
.
Element
ElementTraversal
, Element
Ð¸Ð¼ÐµÐµÑ Ð²Ñе ÑвойÑÑва и меÑÐ¾Ð´Ñ Node
и Element
как ÑÑо опÑеделено в дÑÑгиÑ
ÑпеÑиÑикаÑиÑÑ
DOM, и в дополнение Ð¾Ð±Ð»Ð°Ð´Ð°ÐµÑ ÑледÑÑÑими ÑвойÑÑвами:
firstElementChild
Element
ÑолÑко Ð´Ð»Ñ ÑÑениÑ.
lastElementChild
Element
ÑолÑко Ð´Ð»Ñ ÑÑениÑ.
previousElementSibling
Element
ÑолÑко Ð´Ð»Ñ ÑÑениÑ.
nextElementSibling
Element
ÑолÑко Ð´Ð»Ñ ÑÑениÑ.
childElementCount
Number
ÑолÑко Ð´Ð»Ñ ÑÑениÑ.
package org.w3c.dom; public interface ElementTraversal { Element getFirstElementChild(); Element getLastElementChild(); Element getPreviousElementSibling(); Element getNextElementSibling(); int getChildElementCount(); }D. ÐÑÑоÑÐ¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹
РазлиÑнÑе ÑедакÑионнÑе изменениÑ, иÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸ модиÑикаÑии к пÑимеÑам бÑли ÑÐ´ÐµÐ»Ð°Ð½Ñ Ð¾Ñ Ð¿ÑоекÑа до пÑоекÑа.
ÐÑÑибÑÑ childElementCount
бÑл дополниÑелÑнÑм к пеÑвонаÑалÑÐ½Ð¾Ð¼Ñ Ð¿ÑедложениÑ, по пÑиÑинам, ÑказаннÑм в данной ÑпеÑиÑикаÑии.
ElementTraversal
в SVG.
РедакÑÐ¾Ñ Ñ Ð¾Ñел Ð±Ñ Ð¿Ð¾Ð±Ð»Ð°Ð³Ð¾Ð´Ð°ÑиÑÑ ÑледÑÑÑÐ¸Ñ Ð»Ñдей за Ð¸Ñ Ð²ÐºÐ»Ð°Ð´ пÑи напиÑании ÑÑой ÑпеÑиÑикаÑии: ÐÑвид ÐндеÑÑон (David Andersson), Робин ÐеÑжон(Robin Berjon), Ðан-Ðв ÐиÑÑеÑÐ»Ð¸Ñ (Jean-Yves Bitterlich), СеÑÐ´Ð¶Ð¸Ñ ÐимиÑÑÐ¸Ñ (Sergiu Dumitriu), ÐениÑÐ»Ñ ÐлазмÑн (Daniel Glazman), ÐÑоÑн Ð¥ÑоÑман (Bjoern Hoehrmann), ÐÑÑоÑава ТакеÑи (Kurosawa Takeshi), ÐÑÐ¸Ñ Ðиллей (Chris Lilley), ЧаÑлÑз Ðак-ÐÑÑиÐÑйвайл (Charles McCathieNevile), ÐÑмеÑон Ðак-ÐоÑмак (Cameron McCormack), Саймон ÐиÑеÑÑ (Simon Pieters), Ðандини Рамани (Nandini Ramani), ÐÐ¶Ð¾Ð½Ð°Ñ Ð¡Ð¸ÐºÐºÐ¸Ð½ (Jonas Sicking), ÐндÑÑ Ð¡Ð»ÐµÐ´Ð´ (Andrew Sledd), ÐÐ¶Ð¾Ñ Ð¡Ð¾ÑÐµÑ (Josh Soref), Ðнн Ðан ÐеÑÑеÑен (Anne van Kesteren), ÐоÑÐ¸Ñ ÐбаÑÑкий (Boris Zbarsky), и ÐÐ¾Ñ Ð°Ð¼ÐµÐ´ ÐеÑджаоÑи (Mohamed Zergaoui). РедакÑÐ¾Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑно Ñ Ð¾Ñел Ð±Ñ Ð±Ð»Ð°Ð³Ð¾Ð´Ð°ÑиÑÑ SVG WG за Ñо, ÑÑо он пÑоизвел пÑÐ¾ÐµÐºÑ [SVGD] на коÑоÑом пеÑвонаÑалÑно бÑла оÑнована Ð´Ð°Ð½Ð½Ð°Ñ ÑпеÑиÑикаÑиÑ.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4