• 添加标签——给定标签选项


    HTML:

    1     <h3>haveTags</h3>
    2     <div id="havetags"></div>
    3     <hr />
    4     <h3>addTags</h3>
    5     <div id="addtags"></div>
    6     <button id="btn">返回的数组</button>

    CSS:

     1 #havetags span,
     2 #addtags span {
     3     display: inline-block;
     4     padding: 0 0 0 10px;
     5     margin: 2px 5px;
     6     border: 1px solid #000;
     7 }
     8 
     9 #havetags span::after,
    10 #addtags span::after {
    11     content: "+";
    12     display: inline-block;
    13     padding: 0 10px;
    14     background-color: #00ffff;
    15     margin-left: 5px;
    16 }
    17 
    18 #addtags span::after {
    19     content: "x";
    20 }

    JavaScript:

      1     // 拥有的标签
      2     var haveArr = ["HTML", "CSS", "JavaScript", "jQuery", "Vue", "Bootstrap"];
      3 
      4     // 添加的标签
      5     var addArr = ["PHP", "MySQL"];
      6 
      7     /**
      8      * [tagsShow 展示拥有的标签]
      9      * @param  {[String]} haveTagsId [展示拥有标签的HTML标签Id]
     10      * @param  {[String]} addTagsId  [展示添加标签的HTML标签Id]
     11      * @param  {[Array]} haveTags   [拥有标签的数组]
     12      * @param  {[Array]} addTags    [添加标签的数组]
     13      */
     14     function tagsShow(haveTagsId, addTagsId, haveTags, addTags) {
     15 
     16         for (var i = 0; i < haveTags.length; i++) {
     17 
     18             document.getElementById(haveTagsId).innerHTML += "<span>" + haveTags[i] + "</span>";
     19 
     20         }
     21 
     22         addTag(haveTagsId, addTagsId, haveArr, addArr);
     23 
     24         for (var i = 0; i < addTags.length; i++) {
     25 
     26             document.getElementById(addTagsId).innerHTML += "<span>" + addTags[i] + "</span>";
     27 
     28         }
     29 
     30         delTag(haveTagsId, addTagsId, haveTags, addTags);
     31 
     32     }
     33 
     34     /**
     35      * 添加标签
     36      * @param  {[String]} haveTagsId [展示拥有标签的HTML标签Id]
     37      * @param  {[String]} addTagsId  [展示添加标签的HTML标签Id]
     38      * @param  {[Array]} haveTags   [拥有标签的数组]
     39      * @param  {[Array]} addTags    [添加标签的数组]
     40      */
     41     function addTag(haveTagsId, addTagsId, haveTags, addTags) {
     42 
     43         var len = document.getElementById(haveTagsId).children.length;
     44 
     45         for (var i = 0; i < len; i++) {
     46 
     47             document.getElementById(haveTagsId).children[i].onclick = function() {
     48 
     49                 this.remove();
     50 
     51                 addTags.push(this.innerHTML);
     52 
     53                 document.getElementById(addTagsId).innerHTML += "<span>" + this.innerHTML + "</span>";
     54 
     55                 haveTags.splice(haveTags.indexOf(this.innerHTML), 1); // 从数组中删除该元素
     56 
     57                 delTag(haveTagsId, addTagsId, haveTags, addTags);
     58             }
     59 
     60         }
     61 
     62     }
     63 
     64     /**
     65      * 删除标签
     66      * @param  {[String]} haveTagsId [展示拥有标签的HTML标签Id]
     67      * @param  {[String]} addTagsId  [展示添加标签的HTML标签Id]
     68      * @param  {[Array]} haveTags   [拥有标签的数组]
     69      * @param  {[Array]} addTags    [添加标签的数组]
     70      */
     71     function delTag(haveTagsId, addTagsId, haveTags, addTags) {
     72 
     73         var len = document.getElementById(addTagsId).children.length;
     74 
     75         for (var i = 0; i < len; i++) {
     76 
     77             document.getElementById(addTagsId).children[i].onclick = function() {
     78 
     79                 this.remove();
     80 
     81                 haveTags.push(this.innerHTML);
     82 
     83                 document.getElementById(haveTagsId).innerHTML += "<span>" + this.innerHTML + "</span>";
     84 
     85                 addTags.splice(addTags.indexOf(this.innerHTML), 1); // 从数组中删除该元素
     86 
     87                 addTag(haveTagsId, addTagsId, haveTags, addTags);
     88 
     89             }
     90 
     91         }
     92 
     93     }
     94 
     95     // 展示标签
     96     tagsShow('havetags', 'addtags', haveArr, addArr);
     97 
     98     // 最终数组
     99     document.getElementById("btn").onclick = function(){
    100  
    101         console.log(haveArr);
    102  
    103         console.log(addArr);
    104  
    105     }
  • 相关阅读:
    springnodejs
    js CacheQueue
    权重练习
    架构师速成8.3-可用性之分库分表
    架构师速成8.3-可用性之分布式
    架构师速成8.3-可用性
    架构师速成8.3-架构师必须要了解的规则(转)
    架构师速成6.15-开发框架-单点登录
    架构师速成6.14-开发框架-异常处理
    架构师速成6.13-开发框架-前后结合
  • 原文地址:https://www.cnblogs.com/lprosper/p/9404471.html
Copyright © 2020-2023  润新知