--- title: DocumentOrShadowRoot.elementsFromPoint() slug: Web/API/Document/elementsFromPoint tags: - API - Document - DocumentOrShadowRoot - Method - Reference - ShadowRoot - elementsFromPoint - elementsFromPoint() - shadow dom - メソッド translation_of: Web/API/DocumentOrShadowRoot/elementsFromPoint original_slug: Web/API/DocumentOrShadowRoot/elementsFromPoint ---
elementsFromPoint() は {{domxref("DocumentOrShadowRoot")}} インターフェイスのメソッドで、指定された座標 (ビューポートからの相対) にあるすべての要素の配列を返します。
これは {{domxref("DocumentOrShadowRoot.elementFromPoint", "elementFromPoint()")}} メソッドと同じような方法で動作します。
const elements = document.elementsFromPoint(x, y);
xy{{domxref("Element")}} オブジェクトの配列です。
<div> <p>Some text</p> </div> <p>Elements at point 30, 20:</p> <div id="output"></div>
let output = document.getElementById("output");
if (document.elementsFromPoint) {
let elements = document.elementsFromPoint(30, 20);
for (var i = 0; i < elements.length; i++) {
output.textContent += elements[i].localName;
if (i < elements.length - 1) {
output.textContent += " < ";
}
}
} else {
output.innerHTML = "<span style=\"color: red;\">" +
"Browser does not support <code>document.elementsFromPoint()</code>" +
"</span>";
}
{{EmbedLiveSample('Example', '420', '120')}}
| 仕様書 | 状態 |
|---|---|
| {{SpecName('Shadow DOM','#dom-documentorshadowroot-elementsfrompoint','elementsFromPoint()')}} | {{Spec2('Shadow DOM')}} |
| {{SpecName('CSSOM View', '#dom-document-elementsfrompoint', 'elementsFromPoint()')}} | {{Spec2('CSSOM View')}} |
{{Compat("api.DocumentOrShadowRoot.elementsFromPoint")}}