>  기사  >  웹 프론트엔드  >  html은 라벨 옵션을 제공하고 라벨(코드 포함)을 추가합니다.

html은 라벨 옵션을 제공하고 라벨(코드 포함)을 추가합니다.

不言
不言원래의
2018-08-02 09:47:043956검색

이 글은 html에서 주어진 태그 옵션과 태그 추가(코드 포함)를 소개합니다. 필요한 친구들이 참고할 수 있기를 바랍니다.

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";
}

JavaScript:

// 拥有的标签
    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(&#39;havetags&#39;, &#39;addtags&#39;, haveArr, addArr);

    // 最终数组
    document.getElementById("btn").onclick = function(){
 
        console.log(haveArr);
 
        console.log(addArr);
 
    }

추천 관련 기사:

브라우저 기능을 얻기 위한 HTML 구현 보기 영역 너비 및 높이(순수 코드)

HTML 이미지 사전 로드 분석(코드 포함)

위 내용은 html은 라벨 옵션을 제공하고 라벨(코드 포함)을 추가합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.