@@ 220-233 (lines=14) @@ | ||
217 | }, $this); |
|
218 | } |
|
219 | ||
220 | public function prependSibling($sibling, ...$optionals) |
|
221 | { |
|
222 | return $this->handler->insertElement($this->nodes, $sibling, $optionals, function ($sibling, $element) { |
|
223 | if ($sibling->parentNode === null) { |
|
224 | // If the node doesn't have at least one parent node, |
|
225 | // the sibling creation fails. In this case we replace |
|
226 | // the sibling creation with the creation of a child node. |
|
227 | // Useful when dealing with a DOMDocument with a null |
|
228 | // documentElement property. |
|
229 | return $sibling->appendChild($element); |
|
230 | } |
|
231 | return $sibling->parentNode->insertBefore($element, $sibling); |
|
232 | }, $this); |
|
233 | } |
|
234 | ||
235 | public function appendSibling($sibling, ...$optionals) |
|
236 | { |
|
@@ 235-249 (lines=15) @@ | ||
232 | }, $this); |
|
233 | } |
|
234 | ||
235 | public function appendSibling($sibling, ...$optionals) |
|
236 | { |
|
237 | return $this->handler->insertElement($this->nodes, $sibling, $optionals, function ($sibling, $element) { |
|
238 | if ($sibling->parentNode === null) { |
|
239 | // If the node doesn't have at least one parent node, |
|
240 | // the sibling creation fails. In this case we replace |
|
241 | // the sibling creation with the creation of a child node. |
|
242 | // Useful when dealing with a DOMDocument with a null |
|
243 | // documentElement property. |
|
244 | return $sibling->appendChild($element); |
|
245 | } |
|
246 | // If ->nextSibling is null, $element is simply appended as last sibling. |
|
247 | return $sibling->parentNode->insertBefore($element, $sibling->nextSibling); |
|
248 | }, $this); |
|
249 | } |
|
250 | ||
251 | // setAttribute($name, $value) |
|
252 | // setAttribute(['name' => 'value', ...]) |