document.createElement
、element.setAttribute
和parentElement.appendChild
等方法实现。生成标签的 JavaScript 代码
步骤1:创建 HTML 结构
我们需要创建一个基本的 HTML 结构来容纳我们的标签,我们可以使用一个无序列表<ul>
元素来表示标签列表。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF8"> <meta name="viewport" content="width=devicewidth, initialscale=1.0"> <title>标签生成器</title> </head> <body> <h1>标签生成器</h1> <ul id="taglist"></ul> <script src="script.js"></script> </body> </html>
步骤2:编写 JavaScript 代码
我们将编写 JavaScript 代码来动态生成标签,假设我们有一个包含标签名称的数组,我们可以遍历这个数组并将每个标签添加到 HTML 中。
// script.js const tags = ['JavaScript', 'HTML', 'CSS', 'React', 'Node.js']; function generateTags() { const tagList = document.getElementById('taglist'); tags.forEach(tag => { const listItem = document.createElement('li'); listItem.textContent = tag; tagList.appendChild(listItem); }); } generateTags();
单元表格
序号 | 标签名称 |
1 | JavaScript |
2 | HTML |
3 | CSS |
4 | React |
5 | Node.js |
相关问题与解答
问题1:如何修改上述代码以支持用户输入新的标签?
解答:可以通过添加一个表单和一个按钮来实现用户输入新标签的功能,当用户点击按钮时,将新标签添加到标签列表中,以下是修改后的代码示例:
<! 在 body 中添加以下内容 > <form id="tagform"> <input type="text" id="newtag" placeholder="输入新标签"> <button type="submit">添加标签</button> </form>
// script.js const tags = ['JavaScript', 'HTML', 'CSS', 'React', 'Node.js']; const tagList = document.getElementById('taglist'); const form = document.getElementById('tagform'); const input = document.getElementById('newtag'); function generateTags() { tags.forEach(tag => { const listItem = document.createElement('li'); listItem.textContent = tag; tagList.appendChild(listItem); }); } function addTag(event) { event.preventDefault(); // 阻止表单默认提交行为 const newTag = input.value.trim(); // 获取并清理用户输入 if (newTag && !tags.includes(newTag)) { // 检查是否为空且不在现有列表中 tags.push(newTag); // 将新标签添加到数组中 const listItem = document.createElement('li'); listItem.textContent = newTag; tagList.appendChild(listItem); // 将新标签添加到页面中 input.value = ''; // 清空输入框 } else { alert('请输入有效的新标签!'); // 提示用户输入有效标签 } } form.addEventListener('submit', addTag); // 监听表单提交事件 generateTags(); // 初始加载时生成标签列表
问题2:如何实现删除功能?
解答:可以为每个标签添加一个删除按钮,当点击该按钮时,从标签列表和数组中移除相应的标签,以下是修改后的代码示例:
// script.js // ...(之前的代码) function generateTags() { tags.forEach(tag => { const listItem = document.createElement('li'); listItem.textContent = tag; const deleteButton = document.createElement('button'); deleteButton.textContent = '删除'; deleteButton.addEventListener('click', () => { const index = tags.indexOf(tag); if (index > 1) { tags.splice(index, 1); // 从数组中移除标签 tagList.removeChild(listItem); // 从页面中移除标签项 } }); listItem.appendChild(deleteButton); // 将删除按钮添加到标签项中 tagList.appendChild(listItem); }); }
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1027039.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复