Range.surroundContents()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since иÑÐ»Ñ 2015 г..
ÐеÑод Range.surroundContents() пеÑемеÑÐ°ÐµÑ ÑодеÑжимое Range в новÑй ÑлеменÑ, коÑоÑÑй ÑаÑположиÑÑÑ Ð² наÑале Ñказанного диапазона.
ÐÑÐ¾Ñ Ð¼ÐµÑод пÑиблизиÑелÑно ÑквиваленÑен ÐºÐ¾Ð´Ñ newNode.appendChild(range.extractContents()); range.insertNode(newNode). ÐоÑле его ÑабоÑÑ ÐºÑайние ÑоÑки диапазона бÑдÑÑ Ð²ÐºÐ»ÑÑаÑÑ Ð² ÑÐµÐ±Ñ newNode.
ÐÑли Range ÑазделÑÐµÑ Ð»Ñбой не ÑекÑÑовÑй ÑÐ»ÐµÐ¼ÐµÐ½Ñ Ñ
оÑÑ Ð±Ñ Ð¾Ð´Ð½Ð¾Ð¹ ÑоÑкой, пÑоизойдÑÑ Ð¸ÑклÑÑение. РоÑлиÑие Ð¾Ñ Ð°Ð»ÑÑеÑнаÑÐ¸Ð²Ñ Ð²ÑÑе, еÑли в диапазоне еÑÑÑ ÑаÑÑиÑно вÑделеннÑе ÑлеменÑÑ, они не бÑдÑÑ ÐºÐ»Ð¾Ð½Ð¸ÑованÑ, а вмеÑÑо ÑÑого пÑÐ¾Ð¸Ð·Ð²Ð¾Ð´Ð¸Ñ Ð¾Ñибка.
СинÑакÑиÑ
range.surroundContents(newNode);
ÐаÑамеÑÑÑ
- newNode
-
ÐÐ»ÐµÐ¼ÐµÐ½Ñ ÐºÐ¾ÑоÑÑй бÑÐ´ÐµÑ ÑодеÑжаÑÑ Ð² Ñебе вÑделеннÑй ÑекÑÑ.
ÐÑимеÑ
var range = document.createRange();
var newNode = document.createElement("p");
range.selectNode(document.getElementsByTagName("div").item(0));
range.surroundContents(newNode);
СпеÑиÑикаÑии
| Specification |
|---|
| DOM > # dom-range-surroundcontents > |