当前位置:首页 > JavaScript

js 实现ul

2026-03-14 18:53:28JavaScript

使用 JavaScript 动态创建 ul 列表

在 JavaScript 中,可以通过 DOM 操作动态创建 ul 列表并填充内容。以下是几种常见方法:

方法 1:直接操作 innerHTML

通过字符串拼接快速生成列表结构:

const listItems = ['Item 1', 'Item 2', 'Item 3'];
const ul = document.createElement('ul');
ul.innerHTML = listItems.map(item => `<li>${item}</li>`).join('');
document.body.appendChild(ul);

方法 2:使用 appendChild

逐个创建 li 元素并添加到 ul

const data = ['Apple', 'Banana', 'Orange'];
const ul = document.createElement('ul');

data.forEach(text => {
  const li = document.createElement('li');
  li.textContent = text;
  ul.appendChild(li);
});

document.getElementById('container').appendChild(ul);

方法 3:使用 DocumentFragment

批量操作 DOM 时性能更优:

const items = ['Red', 'Green', 'Blue'];
const fragment = document.createDocumentFragment();
const ul = document.createElement('ul');

items.forEach(item => {
  const li = document.createElement('li');
  li.textContent = item;
  fragment.appendChild(li);
});

ul.appendChild(fragment);
document.body.appendChild(ul);

方法 4:配合事件委托

为动态列表添加事件监听:

const ul = document.createElement('ul');
['Home', 'About', 'Contact'].forEach(text => {
  const li = document.createElement('li');
  li.textContent = text;
  ul.appendChild(li);
});

ul.addEventListener('click', (e) => {
  if (e.target.tagName === 'LI') {
    console.log('Clicked:', e.target.textContent);
  }
});

document.body.appendChild(ul);

方法 5:使用模板字符串

复杂列表结构的生成方式:

js 实现ul

const products = [
  { name: 'Laptop', price: 999 },
  { name: 'Phone', price: 699 }
];

const ul = document.createElement('ul');
ul.innerHTML = products.map(p => `
  <li class="product">
    <span>${p.name}</span>
    <span>$${p.price}</span>
  </li>
`).join('');

document.body.appendChild(ul);

注意事项

  • 动态创建的列表如果是长期存在的,建议使用事件委托而非为每个 li 单独绑定事件
  • 大量数据渲染时建议使用文档片段(DocumentFragment)减少重绘次数
  • 现代前端框架(如React/Vue)通常有更高效的列表渲染机制

标签: jsul
分享给朋友:

相关文章

js实现轮播图

js实现轮播图

轮播图实现方法 基础HTML结构 <div class="slider"> <div class="slides"> <img src="image1.jpg…

js 实现倒计时

js 实现倒计时

实现倒计时的基本方法 使用 JavaScript 实现倒计时可以通过 setInterval 或 setTimeout 结合日期计算来完成。以下是两种常见实现方式。 使用 setInterval 实…

js实现全屏

js实现全屏

实现全屏的基本方法 使用JavaScript实现全屏功能主要依赖Element.requestFullscreen()方法。现代浏览器均支持此API,但不同浏览器可能需要添加前缀。 // 触发全屏…

js实现图表

js实现图表

在JavaScript中实现图表通常使用流行的图表库,以下是几种常见的方法和工具: 使用Chart.js Chart.js是一个简单灵活的库,适合快速生成响应式图表。安装方式包括CDN引入或npm安…

js实现求导

js实现求导

实现数值求导的方法 在JavaScript中实现求导通常采用数值方法,因为JavaScript不是符号计算语言。以下是常见的数值微分方法: 中心差分法 中心差分法提供较高精度的导数近似:…

链表实现js

链表实现js

链表的基本概念 链表是一种线性数据结构,由一系列节点组成,每个节点包含数据和一个指向下一个节点的指针(单向链表)或两个指针(双向链表)。与数组不同,链表在内存中非连续存储,插入和删除操作更高效,但随机…