【发布时间】:2019-07-18 05:11:38
【问题描述】:
假设我们有这个输入:
<div wrap>1</div>
<div>2</div>
<div wrap>3</div>
<div wrap>4</div>
<div wrap>5</div>
所需的输出应该是:
<div class="wrapper">
<div wrap>1</div>
</div>
<div>2</div>
<div class="wrapper">
<div wrap>3</div>
<div wrap>4</div>
<div wrap>5</div>
</div>
另外,假设这些元素是 body 元素的直接子元素,并且在它们之前或之后可以有其他不相关的元素或文本节点。
注意连续元素是如何在单个包装器中分组而不是单独包装的。
您将如何处理 body 的 DOMNodeList 并将包装器插入正确的位置?
在关于仅包装 body 元素的直接子元素的对话 (cmets) 之后,
对于这个输入:
<body>
<div wrap>1
<div wrap>1.1</div>
</div>
<div>2</div>
<div wrap>3</div>
<div wrap>4</div>
<div wrap>5</div>
</body>
所需的输出应该是:
<body>
<div class="wrapper">
<div wrap>1
<div wrap>1.1</div>
<!–– ignored ––>.
</div>
</div>
<div>2</div>
<div class="wrapper">
<div wrap>3</div>
<div wrap>4</div>
<div wrap>5</div>
</div>
</body>
请注意,非 body 元素的直接后代元素是如何被完全忽略的。
【问题讨论】:
-
@OrlandoP。也值得一读 - stackoverflow.com/questions/1732348/…
-
@NigelRen 感谢您对我的教育。我很感激这些知识。