You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用appendChild方法将元素添加到指定位置(以UL列表插入LI元素为例)

解决方案:将新LI元素插入到指定LI之后

嘿,这个需求很容易实现,咱们有两种简洁的方式可以搞定:


方法1:使用Element.after()(推荐,更直观)

这个方法是ES6引入的,直接在目标元素的后面插入新元素,代码非常清晰:

// 1. 创建新的LI元素,和你原来的代码一样
var newli = document.createElement("li");
newli.innerHTML = "1";

// 2. 找到内容为"2"的目标LI元素
// 如果确定它是第一个LI,可以直接用这个选择器:
var targetLi = document.querySelector('#ulmain li:nth-child(1)');
// 要是以后LI的位置可能变动,用这种更通用的方式(匹配文本内容):
// var targetLi = Array.from(document.querySelectorAll('#ulmain li'))
//   .find(item => item.textContent.trim() === '2');

// 3. 直接在目标LI后面插入新元素
targetLi.after(newli);

方法2:使用传统的insertBefore()

如果需要兼容更老的浏览器(比如IE),可以用父元素的insertBefore()方法,把新元素插到目标LI的下一个兄弟节点之前:

var newli = document.createElement("li");
newli.innerHTML = "1";

var ul = document.getElementById('ulmain');
var targetLi = document.querySelector('#ulmain li:nth-child(1)');

// 插入到目标LI的下一个兄弟节点之前
ul.insertBefore(newli, targetLi.nextSibling);

执行任意一种方法后,你的UL结构都会变成:

<ul id="ulmain">
 <li>2</li>
 <li>1</li>
 <li>3</li>
 <li>4</li>
</ul>

完美满足你的需求~

内容的提问来源于stack exchange,提问作者ducc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.27 19:09:06