当前位置:首页 > JavaScript

js 实现tag

2026-02-01 23:06:26JavaScript

实现标签功能

在JavaScript中实现标签(Tag)功能通常涉及创建、删除、展示标签以及处理标签相关的事件。以下是几种常见的方法:

创建标签元素

使用DOM操作动态创建标签元素,可以设置样式和内容:

function createTag(text) {
  const tag = document.createElement('span');
  tag.className = 'tag';
  tag.textContent = text;
  return tag;
}

添加标签到容器

将创建的标签添加到指定的容器中:

const tagContainer = document.getElementById('tag-container');
function addTagToContainer(text) {
  const tag = createTag(text);
  tagContainer.appendChild(tag);
}

删除标签

为标签添加删除按钮,点击后移除标签:

function createTagWithDelete(text) {
  const tag = document.createElement('span');
  tag.className = 'tag';
  tag.textContent = text;

  const deleteButton = document.createElement('span');
  deleteButton.className = 'delete-tag';
  deleteButton.textContent = '×';
  deleteButton.onclick = function() {
    tag.remove();
  };

  tag.appendChild(deleteButton);
  return tag;
}

输入框生成标签

监听输入框事件,按回车或逗号生成标签:

const tagInput = document.getElementById('tag-input');
tagInput.addEventListener('keydown', function(e) {
  if (e.key === 'Enter' || e.key === ',') {
    e.preventDefault();
    const text = tagInput.value.trim();
    if (text) {
      addTagToContainer(text);
      tagInput.value = '';
    }
  }
});

标签样式

通过CSS为标签添加基本样式:

.tag {
  display: inline-block;
  background: #eee;
  padding: 5px 10px;
  margin: 5px;
  border-radius: 3px;
}
.delete-tag {
  margin-left: 5px;
  cursor: pointer;
}

完整示例

结合上述代码的完整HTML示例:

<div id="tag-container"></div>
<input type="text" id="tag-input" placeholder="输入标签,按回车或逗号分隔">
<script>
  // 上述JavaScript代码
</script>
<style>
  /* 上述CSS代码 */
</style>

使用第三方库

如果需要更复杂的标签功能,可以考虑使用第三方库如:

js 实现tag

  • Taggle.js
  • Select2
  • Bootstrap Tags Input

这些库提供了更多高级功能,如自动完成、标签验证等。

标签: jstag
分享给朋友:

相关文章

js实现分页

js实现分页

实现分页的基本思路 分页功能通常需要处理数据分割、页码生成和用户交互。核心逻辑包括计算总页数、根据当前页截取数据、渲染页码按钮等。 前端分页实现(静态数据) 假设已有全部数据,仅需前端分页展示:…

js 实现分页

js 实现分页

实现分页的基本逻辑 分页功能通常需要后端返回数据总量或总页数,前端根据当前页码和每页条数截取对应数据。以下是一个基于JavaScript的简单分页实现方案: 前端分页实现 假设已有从后端获取的完整数…

js实现dh

js实现dh

JavaScript 实现 DH(Diffie-Hellman)密钥交换 Diffie-Hellman(DH)密钥交换是一种安全协议,允许双方在不安全的通信信道上建立一个共享密钥。以下是如何在 Jav…

js实现祖玛

js实现祖玛

实现祖玛游戏的核心思路 祖玛游戏的核心玩法是发射彩色珠子,形成三个或以上相同颜色的珠子即可消除。以下是使用JavaScript实现的基本框架。 游戏初始化 创建画布并初始化游戏状态: const…

js实现下拉刷新

js实现下拉刷新

监听触摸事件 通过监听 touchstart、touchmove 和 touchend 事件来检测用户下拉手势。记录触摸起始位置和移动距离。 let startY = 0; let currentY…

js计算器的实现

js计算器的实现

实现基础结构 HTML部分需要创建计算器的基本框架,包含显示区域和按钮。使用<div>容器包裹整个计算器,内部设置一个显示屏和多个按钮。 <div class="calculato…