blob: 2bef18e920682c38b1bacb022c4a422f3ab6fb11 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
|
---
title: Element.before()
slug: Web/API/Element/before
tags:
- API
- DOM
- メソッド
- Node
- リファレンス
browser-compat: api.Element.before
translation_of: Web/API/Element/before
original_slug: Web/API/ChildNode/before
---
{{APIRef("DOM")}}
**`Element.before()`** は一連の {{domxref("Node")}} または {{domxref("DOMString")}} オブジェクトを、この `Element` の親の子リストの中、この `Element` の直前に挿入します。 {{domxref("DOMString")}} オブジェクトは {{domxref("Text")}} ノードと等価なノードとして挿入されます。
## 構文
```js
before(... nodes)
```
### 引数
- `nodes`
- : 挿入する一連の {{domxref("Node")}} または {{domxref("DOMString")}} オブジェクトです。
### 例外
- `HierarchyRequestError` {{DOMxRef("DOMException")}}
- : ノードが階層構造の中の指定された位置に挿入できなかったときに発生します。
## 例
### 要素の挿入
```js
let container = document.createElement("div");
let p = document.createElement("p");
container.appendChild(p);
let span = document.createElement("span");
p.before(span);
console.log(container.outerHTML);
// "<div><span></span><p></p></div>"
```
### テキストの挿入
```js
let container = document.createElement("div");
let p = document.createElement("p");
container.appendChild(p);
p.before("Text");
console.log(container.outerHTML);
// "<div>Text<p></p></div>"
```
### 要素とテキストの挿入
```js
let container = document.createElement("div");
let p = document.createElement("p");
container.appendChild(p);
let span = document.createElement("span");
p.before(span, "Text");
console.log(container.outerHTML);
// "<div><span></span>Text<p></p></div>"
```
## 仕様書
{{Specifications}}
## ブラウザーの互換性
{{Compat}}
## 関連情報
- {{domxref("Element.after()")}}
- {{domxref("Element.append()")}}
- {{domxref("Node.appendChild()")}}
- {{domxref("Node.insertBefore()")}}
- {{domxref("Element.insertAdjacentElement()")}}
- {{domxref("NodeList")}}
|