jquery用append给标签里面加东西,但是怎么解决不能重复添加的问题了?

判断,已经添加进标签里的数据,不能重复添加
附有3张图,图片太小,放大页面可以看清
最新回答
一澜冬雪

2025-06-18 09:41:22

1、页面初始化,定义数组:var arr = [];
2、点击"选中",获取字符串str
3、先判断str是否已包含在arr,如果不存在继续你的操作,且把str放进arr里面,如果已存在,则中断你的添加事件
注:在某些条件,需要对arr清空,比如在清空你那些li标签的时候,应该需要清空arr
还有一种方式,就是每次点击"选中",先获取所有li标签的内容,然后放进一个数组。然后判断添加的字符串是否在生成的数组里面,不存在的话就继续添加,存在的话,就中断,这种方式不需要去关心初始化的arr是否清空的问题
匆匆过客

2025-06-18 12:40:01

给你个我以前的demo,原理差不多,参考一下

<!DOCTYPE html>
<html>
<head> 
<meta charset="utf-8"> 
<title>append</title> 
<script type="text/javascript" src="http://code.jquery.com/jquery-3.2.1.js"></script>
<style>
*{ padding:0;margin:0;font-size:14px;box-sizing:border-box; }
.a{ padding: 24px;border: 1px solid #847AE8;height:640px;overflow-x:hidden;overflow-y:auto; }
.a p{ color: #f0f; }
</style>
</head>
<body>
<button class="add">点击添加</button>
<div class="a"></div>
</body>
<script type="text/javascript">
$(function(){
$(".add").click(function(){
var t = (Math.random()*(5-1)+1).toFixed(0);
var p = $('<p id="'+t+'">'+t+'</p>');
if( !$('.a').children('p[id='+t+']').length ){
$('.a').append(p);
}else{
$('.a').append('<p style="color: #999;">'+t+'已存在!</p>');
}
$(".a").scrollTop($(".a")[0].scrollHeight);
});
});
</script>
</html>