HtmlObject\Traits\Tag::wrapWith PHP Method

wrapWith() public method

Wrap the Element in another element.
public wrapWith ( string | HtmlObject\Element $element, $name = null ) : HtmlObject\Element
$element string | HtmlObject\Element The element's tag
return HtmlObject\Element
    public function wrapWith($element, $name = null)
    {
        if (!$element instanceof Tag) {
            $element = Element::create($element);
        }
        if ($this->parent) {
            $this->parent->nest($element, $name);
            $children = $this->parent->children;
            unset($children[$this->parentIndex]);
            $this->parent->children = $children;
            $name = $this->parentIndex;
        }
        $element->nest($this, $name);
        return $this;
    }