>  기사  >  웹 프론트엔드  >  JavaScript에서 특정 라벨 옵션을 추가하는 방법은 무엇입니까? (코드 예)

JavaScript에서 특정 라벨 옵션을 추가하는 방법은 무엇입니까? (코드 예)

青灯夜游
青灯夜游원래의
2018-09-15 17:51:151512검색

이 장에서는 태그 JavaScript를 사용하여 주어진 태그 옵션을 추가하는 방법을 소개합니다. (코드 예). 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.

먼저 렌더링을 살펴보겠습니다.

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(&#39;havetags&#39;, &#39;addtags&#39;, haveArr, addArr);

// 最终数组
document.getElementById("btn").onclick = function() {

	console.log(haveArr);

	console.log(addArr);

}











위 내용은 JavaScript에서 특정 라벨 옵션을 추가하는 방법은 무엇입니까? (코드 예)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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