コード例 #1
0
ファイル: Node.cs プロジェクト: CnSimonChan/AppToolkit.Html
        internal void Insert(Node node, int index, bool suppressObservers = false)
        {
            var addedNodes = new List<Node>();

            if (node is DocumentFragment)
            {
                addedNodes.Capacity = node.ChildNodes.Count;

                while (node.HasChildNodes())
                {
                    var item = node.ChildNodes[0];
                    node.Remove(item, true);

                    addedNodes.Add(item);
                    item.ParentNode = this;

                    if (index == -1)
                        ChildNodes.Add(item);
                    else
                        ChildNodes.Insert(index++, item);
                }
            }
            else
            {
                addedNodes.Add(node);
                node.ParentNode = this;

                if (index == -1)
                    ChildNodes.Add(node);
                else
                    ChildNodes.Insert(index++, node);
            }
        }