Сейчас в ссылке невозможно указать тот элемент (то место документа),
который не имеет ни атрибута name
, ни атрибута id
.
Предлагаю указывать необходимый элемент в нотации XPath
после названия документа и знаков "#:", и называть такое указание меткой читателя.
Пусть '@@' означает конктест элемента за исключением вложенных элементов (получившиеся строки склеиваются; последовательность пробелов, табуляций, переводов строки считаются за один пробел); а знак '~' означает функцию 'contains', в которой переставлены аргументы, т.е. 'a~b' эквивалентно 'contains(b,a)'. Если подходящих html-элементов несколько, найденным является первый из них.
Знак "плюс" между двумя элементами означает то же самое, что и в CSS - что оба элемента находятся на одном и том же уровне иерархии (т.е. вложены в один и тот же обрамляющий элемент), и что номер элемента, расположенного справа от знака "плюс", нужно отсчитывать не от начала содержимого обрамляющего элемента - начать отсчет нужно после элемента, расположенного слева от знака "плюс".
В первом примере браузер ищет первый элемент html
,
внутри него ищет первый элемент body
,
в котором он ищет 4-й элемент h3
-
метка читателя ссылается на 12-й элемент p
после него,
вложенный в элемент body
.
Во втором примере браузер ищет первый элемент body
,
затем среди элементов, расположенных внутри него, он последовательно ищет:
3-й тег h1
;
2-й тег h2
после этого h1
;
5-й тег h3
после этого h2
;
8-й тег p
после этого h3
-
метка читателя ссылается на 3-й элемент b
внутри этого параграфа.