详解JavaScript添加给定的标签选项


Posted in Javascript onSeptember 17, 2018

先看看效果图:

详解JavaScript添加给定的标签选项

代码实现:

HTML代码:

<h3>haveTags</h3>
<div id="havetags"></div>
<hr />
<h3>addTags</h3>
<div id="addtags"></div>
<button id="btn">返回的数组</button>

css代码:

#havetags span,
#addtags span {
 display: inline-block;
 padding: 0 0 0 10px;
 margin: 2px 5px;
 border: 1px solid #000;
}
 
#havetags span::after,
#addtags span::after {
 content: "+";
 display: inline-block;
 padding: 0 10px;
 background-color: #00ffff;
 margin-left: 5px;
}
 
#addtags span::after {
 content: "x";
}

js代码:

// 拥有的标签
var haveArr = ["HTML", "CSS", "JavaScript", "jQuery", "Vue", "Bootstrap"];
 
// 添加的标签
var addArr = ["PHP", "MySQL"];
 
/**
 * [tagsShow 展示拥有的标签]
 * @param {[String]} haveTagsId [展示拥有标签的HTML标签Id]
 * @param {[String]} addTagsId [展示添加标签的HTML标签Id]
 * @param {[Array]} haveTags [拥有标签的数组]
 * @param {[Array]} addTags [添加标签的数组]
 */
function tagsShow(haveTagsId, addTagsId, haveTags, addTags) {
 
 for(var i = 0; i < haveTags.length; i++) {
 
  document.getElementById(haveTagsId).innerHTML += "<span>" + haveTags[i] + "</span>";
 
 }
 
 addTag(haveTagsId, addTagsId, haveArr, addArr);
 
 for(var i = 0; i < addTags.length; i++) {
 
  document.getElementById(addTagsId).innerHTML += "<span>" + addTags[i] + "</span>";
 
 }
 
 delTag(haveTagsId, addTagsId, haveTags, addTags);
 
}
 
/**
 * 添加标签
 * @param {[String]} haveTagsId [展示拥有标签的HTML标签Id]
 * @param {[String]} addTagsId [展示添加标签的HTML标签Id]
 * @param {[Array]} haveTags [拥有标签的数组]
 * @param {[Array]} addTags [添加标签的数组]
 */
function addTag(haveTagsId, addTagsId, haveTags, addTags) {
 
 var len = document.getElementById(haveTagsId).children.length;
 
 for(var i = 0; i < len; i++) {
 
  document.getElementById(haveTagsId).children[i].onclick = function() {
 
   this.remove();
 
   addTags.push(this.innerHTML);
 
   document.getElementById(addTagsId).innerHTML += "<span>" + this.innerHTML + "</span>";
 
   haveTags.splice(haveTags.indexOf(this.innerHTML), 1); // 从数组中删除该元素
 
   delTag(haveTagsId, addTagsId, haveTags, addTags);
  }
 
 }
 
}
 
/**
 * 删除标签
 * @param {[String]} haveTagsId [展示拥有标签的HTML标签Id]
 * @param {[String]} addTagsId [展示添加标签的HTML标签Id]
 * @param {[Array]} haveTags [拥有标签的数组]
 * @param {[Array]} addTags [添加标签的数组]
 */
function delTag(haveTagsId, addTagsId, haveTags, addTags) {
 
 var len = document.getElementById(addTagsId).children.length;
 
 for(var i = 0; i < len; i++) {
 
  document.getElementById(addTagsId).children[i].onclick = function() {
 
   this.remove();
 
   haveTags.push(this.innerHTML);
 
   document.getElementById(haveTagsId).innerHTML += "<span>" + this.innerHTML + "</span>";
 
   addTags.splice(addTags.indexOf(this.innerHTML), 1); // 从数组中删除该元素
 
   addTag(haveTagsId, addTagsId, haveTags, addTags);
 
  }
 
 }
 
}
 
// 展示标签
tagsShow('havetags', 'addtags', haveArr, addArr);
 
// 最终数组
document.getElementById("btn").onclick = function() {
 
 console.log(haveArr);
 
 console.log(addArr);
 
}

以上就是JavaScript如何实现添加给定的标签选项?(代码实例)的详细内容,更多请关注php中文网其它相关文章!

Javascript 相关文章推荐
让你的网站可编辑的实现js代码
Oct 19 Javascript
javascript结合html5 canvas实现(可调画笔颜色/粗细/橡皮)的涂鸦板
Apr 27 Javascript
js中reverse函数的用法详解
Dec 26 Javascript
js判断undefined类型示例代码
Feb 10 Javascript
解决JS无法调用Controller问题的方法
Dec 31 Javascript
Bootstrap企业网站实战项目4
Oct 14 Javascript
JavaScript实现三级联动效果
Jul 15 Javascript
JS按条件 serialize() 对应标签的使用方法
Jul 24 Javascript
基于VUE移动音乐WEBAPP跨域请求失败的解决方法
Jan 16 Javascript
layui从数据库中获取复选框的值并默认选中方法
Aug 15 Javascript
使用JS实现动态时钟
Mar 12 Javascript
从原生JavaScript到React深入理解
Jul 23 Javascript
Element-ui tree组件自定义节点使用方法代码详解
Sep 17 #Javascript
vue-vuex中使用commit提交mutation来修改state的方法详解
Sep 16 #Javascript
在Vue-cli里应用Vuex的state和mutations方法
Sep 16 #Javascript
分享5个好用的javascript文件上传插件
Sep 16 #Javascript
vuex直接赋值的三种方法总结
Sep 16 #Javascript
vue 实现边输入边搜索功能的实例讲解
Sep 16 #Javascript
vue2过滤器模糊查询方法
Sep 16 #Javascript
You might like
PHP生成Flash动画的实现代码
2010/03/12 PHP
php删除页面记录 同时刷新页面 删除条件用GET方式获得
2012/01/10 PHP
PHP判断网络文件是否存在的方法
2015/03/12 PHP
浅析Yii2 gridview实现批量删除教程
2016/04/22 PHP
php使用pecl方式安装扩展操作示例
2019/08/12 PHP
子窗口、父窗口和Silverlight之间的相互调用
2010/08/16 Javascript
可兼容IE的获取及设置cookie的jquery.cookie函数方法
2013/09/02 Javascript
再分享70+免费的jquery 图片滑块效果插件和教程
2014/12/15 Javascript
jQuery取消ajax请求的方法
2015/06/09 Javascript
浅谈JavaScript中变量和函数声明的提升
2016/08/09 Javascript
JS实现的添加弹出层并完成锁屏操作示例
2017/04/07 Javascript
微信小程序开发之数据存储 参数传递 数据缓存
2017/04/13 Javascript
mint-ui 时间插件使用及获取选择值的方法
2018/02/09 Javascript
angularJs使用ng-repeat遍历后选中某一个的方法
2018/09/30 Javascript
jQuery内容选择器与表单选择器实例分析
2019/06/28 jQuery
layui数据表格实现重载数据表格功能(搜索功能)
2019/07/27 Javascript
JS前端面试必备——基本排序算法原理与实现方法详解【插入/选择/归并/冒泡/快速排序】
2020/02/24 Javascript
Python使用新浪微博API发送微博的例子
2014/04/10 Python
用Python中的wxPython实现最基本的浏览器功能
2015/04/14 Python
详细讲解Python中的文件I/O操作
2015/05/24 Python
Python中文分词实现方法(安装pymmseg)
2016/06/14 Python
Python中的枚举类型示例介绍
2019/01/09 Python
Flask之pipenv虚拟环境的实现
2019/11/26 Python
Python greenlet和gevent使用代码示例解析
2020/04/01 Python
如何基于python对接钉钉并获取access_token
2020/04/21 Python
了解一下python内建模块collections
2020/09/07 Python
python-jwt用户认证食用教学的实现方法
2021/01/19 Python
Python3+Appium安装及Appium模拟微信登录方法详解
2021/02/16 Python
Python绘制词云图之可视化神器pyecharts的方法
2021/02/23 Python
使用html2canvas.js实现页面截图并显示或上传的示例代码
2018/12/18 HTML / CSS
美国名表在线商城:Ashford(支持中文)
2019/09/24 全球购物
计算机大学生职业生涯规划书范文
2014/02/19 职场文书
乡镇安全生产目标责任书
2014/07/23 职场文书
全陪导游词
2015/02/04 职场文书
母亲节寄语大全
2015/02/27 职场文书
大学毕业典礼致辞
2015/07/29 职场文书