【问题标题】:javascript: how to append div in "begining" of another divjavascript:如何在另一个 div 的“开始”中附加 div
【发布时间】:2013-02-27 11:05:43
【问题描述】:

我有一个 div,我想在其中添加另一个 div。但是,通过使用appendChild(),它总是在容器元素的末尾插入 DOM 元素。但我想将它插入到容器 divstarting 中。
如何做到这一点?

var newDiv= document.createElement('div');
newDiv.innerHTML = "<input type='text'/>";
var item = document.getElementById('containerDivId');
item.appendChild(newDiv);`

【问题讨论】:

标签: javascript jquery html dom


【解决方案1】:

prepend() 是你需要的..

将由参数指定的内容插入到匹配元素集中每个元素的开头。

 item.prepend(newDiv);

【讨论】:

    【解决方案2】:

    使用'item.insertBefore(newDiv, item.firstChild);'

    【讨论】:

      【解决方案3】:

      既然你已经包含了jquery标签...你可以使用prepend()方法。

      或者你可以使用纯 JS insertBefore:

      item.insertBefore(newDiv, item.firstChild);
      

      【讨论】:

        【解决方案4】:

        您可以在 jQuery 中使用 prepend 函数。例如,

        $(item).prepend(newDiv);
        

        【讨论】:

          【解决方案5】:

          我想你找到了insertBefore

          parentElem.insertBefore(insertedElem, parentElem.firstChild);
          

          【讨论】:

            【解决方案6】:

            您可以在父元素上使用 prepend() 来首先添加子元素。

            http://api.jquery.com/prepend/

            我没有时间测试它,但我认为这会奏效。

            var newDiv= document.createElement('div');
                newDiv.innerHTML = "<input type='text'/>";
            var item = document.getElementById('containerDivId');
                item.prepend(newDiv);
            

            【讨论】:

            • 天哪,这么多答案,对不起。我开始写的时候是空的=)
            • 由 Ajay 编辑,这在没有 jquery 的情况下有效,但我不知道当容器没有子容器时它会如何反应?仅供参考,他用 jquery 标记了这个问题,所以编辑前的答案也是有效的。
            • 我回滚了原版的答案,Ajay的编辑无效(改的太多了,有点评论)
            • 您发布的代码不正确。 item 是一个 DOM 元素,没有方法 .prepend
            猜你喜欢
            • 2018-11-30
            • 1970-01-01
            • 1970-01-01
            • 2016-11-05
            • 1970-01-01
            • 1970-01-01
            • 2012-11-24
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多