@@ 207-220 (lines=14) @@ | ||
204 | }, $this); |
|
205 | } |
|
206 | ||
207 | public function prependSibling($sibling, ...$optionals) |
|
208 | { |
|
209 | return $this->handler->insertElement($this->nodes, $sibling, $optionals, function ($sibling, $element) { |
|
210 | if ($sibling->parentNode === null) { |
|
211 | // If the node doesn't have at least one parent node, |
|
212 | // the sibling creation fails. In this case we replace |
|
213 | // the sibling creation with the creation of a child node. |
|
214 | // Useful when dealing with a DOMDocument with a null |
|
215 | // documentElement property. |
|
216 | return $sibling->appendChild($element); |
|
217 | } |
|
218 | return $sibling->parentNode->insertBefore($element, $sibling); |
|
219 | }, $this); |
|
220 | } |
|
221 | ||
222 | public function appendSibling($sibling, ...$optionals) |
|
223 | { |
|
@@ 222-236 (lines=15) @@ | ||
219 | }, $this); |
|
220 | } |
|
221 | ||
222 | public function appendSibling($sibling, ...$optionals) |
|
223 | { |
|
224 | return $this->handler->insertElement($this->nodes, $sibling, $optionals, function ($sibling, $element) { |
|
225 | if ($sibling->parentNode === null) { |
|
226 | // If the node doesn't have at least one parent node, |
|
227 | // the sibling creation fails. In this case we replace |
|
228 | // the sibling creation with the creation of a child node. |
|
229 | // Useful when dealing with a DOMDocument with a null |
|
230 | // documentElement property. |
|
231 | return $sibling->appendChild($element); |
|
232 | } |
|
233 | // If ->nextSibling is null, $element is simply appended as last sibling. |
|
234 | return $sibling->parentNode->insertBefore($element, $sibling->nextSibling); |
|
235 | }, $this); |
|
236 | } |
|
237 | ||
238 | // setAttribute($name, $value) |
|
239 | // setAttribute(['name' => 'value', ...]) |