Skip to content

Commit

Permalink
[ru] update Web/API/Node/compareDocumentPosition translation (#20489)
Browse files Browse the repository at this point in the history
[ru] update 'Web/API/Node/compareDocumentPosition' translation
  • Loading branch information
leon-win authored Jun 3, 2024
1 parent 29cc631 commit 50ea4a9
Showing 1 changed file with 34 additions and 29 deletions.
63 changes: 34 additions & 29 deletions files/ru/web/api/node/comparedocumentposition/index.md
Original file line number Diff line number Diff line change
@@ -1,52 +1,58 @@
---
title: Node.compareDocumentPosition
title: "Node: метод compareDocumentPosition()"
slug: Web/API/Node/compareDocumentPosition
l10n:
sourceCommit: c4753644fdc82247914dbde91906c1804e22f305
---

{{ ApiRef() }}
{{APIRef("DOM")}}

## Аннотация

Сравнивает позицию текущего узла и другого узла в любом другом документе.
Метод **`compareDocumentPosition()`** интерфейса {{domxref("Node")}} сообщает позицию переданного ему в качестве аргумента узла относительно узла, на котором он был вызван.

## Синтаксис

```
node.compareDocumentPosition( otherNode )
```js-nolint
compareDocumentPosition(otherNode)
```

- `node` это узел, который сравнивается
- `otherNode` это узел, с которым идёт сравнение.
## Параметры

Возвращаемое значение вычисляется как отношение, которое имеется между `otherNode` и `node`.
- `otherNode`
- : {{domxref("Node")}}, позиция которого должна быть найдена, относительно текущего узла.

## Примечание
### Возвращаемое значение

Возвращаемое значение - это битовая маска со следующими значениями:
Числовое значение, представляющее позицию `otherNode` относительно `node` в виде [битовой маски](https://ru.wikipedia.org/wiki/Битовая_маска), в которой объединены следующие константы {{domxref("Node")}}:

| Имя | Значение |
| ------------------------------------------- | -------- |
| `DOCUMENT_POSITION_DISCONNECTED` | 1 |
| `DOCUMENT_POSITION_PRECEDING` | 2 |
| `DOCUMENT_POSITION_FOLLOWING` | 4 |
| `DOCUMENT_POSITION_CONTAINS` | 8 |
| `DOCUMENT_POSITION_CONTAINED_BY` | 16 |
| `DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC` | 32 |
- `Node.DOCUMENT_POSITION_DISCONNECTED` (`1`)
- : Оба узла находятся в разных документах или в разных деревьях одного документа.
- `Node.DOCUMENT_POSITION_PRECEDING` (`2`)
- : `otherNode` предшествует узлу во время [прямого обхода при поиске в глубину](<https://ru.wikipedia.org/wiki/Обход_дерева#Прямой_обход_(NLR)>).
- `Node.DOCUMENT_POSITION_FOLLOWING` (`4`)
- : `otherNode` следует после узла во время [прямого обхода при поиске в глубину](<https://ru.wikipedia.org/wiki/Обход_дерева#Прямой_обход_(NLR)>).
- `Node.DOCUMENT_POSITION_CONTAINS` (`8`)
- : `otherNode` является предком узла.
- `Node.DOCUMENT_POSITION_CONTAINED_BY` (`16`)
- : `otherNode` является потомком узла.
- `Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC` (`32`)
- : Результат зависит от произвольного и/или специфичного для реализации поведения, и его переносимость не гарантируется.

Могут быть установлены ноль или более битов. Например, если `otherNode` находится в документе ранее **_и_** содержит узел, на котором был вызван метод `compareDocumentPosition()`, то будут установлены биты `DOCUMENT_POSITION_CONTAINS` и `DOCUMENT_POSITION_PRECEDING`, и полученное значение будет равно `10` (`0x0A`).

## Пример

```js
var head = document.getElementsByTagName("head").item(0);
if (
head.compareDocumentPosition(document.body) & Node.DOCUMENT_POSITION_FOLLOWING
) {
console.log("well-formed document");
const head = document.head;
const body = document.body;

if (head.compareDocumentPosition(body) & Node.DOCUMENT_POSITION_FOLLOWING) {
console.log("Правильно составленный документ");
} else {
console.log("<head> is not before <body>");
console.error("<head> не найден перед <body>");
}
```

> **Примечание:** _Из-за того, что результат, возвращаемый_ `compareDocumentPosition`, является битовой маской, [побитовый оператор и](/ru/docs/JavaScript/Reference/Operators/Bitwise_Operators) должен использоваться для осмысленных значений.
> **Примечание:** Поскольку результат, возвращаемый `compareDocumentPosition()`, является битовой маской, [побитовый оператор И](/ru/docs/Web/JavaScript/Reference/Operators/Bitwise_AND) должен использоваться для осмысленных значений.
## Спецификации

Expand All @@ -58,5 +64,4 @@ if (

## Смотрите также

- [`Node.contains`](/ru/docs/DOM/Node.contains)
- [John Resig - Comparing Document Position](http://ejohn.org/blog/comparing-document-position/)
- {{DOMxRef("Node.contains()")}}

0 comments on commit 50ea4a9

Please sign in to comment.