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

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

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

给你个我以前的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>

本回答被提问者采纳

jquery用append给标签里面加东西,但是怎么解决不能重复添加的问题...
还有一种方式,就是每次点击"选中",先获取所有li标签的内容,然后放进一个数组。然后判断添加的字符串是否在生成的数组里面,不存在的话就继续添加,存在的话,就中断,这种方式不需要去关心初始化的arr是否清空的问题

jquery中append(),判断“名字”一样。append()则不重复添加。【有图...
你可以给每条记录加一个唯一标识,然后在append之前通过唯一表示校验,比如:var id = 3, html;if ($('[data-id="' + id + '"]').length === 0) { html = ''; $('ul').append(html);}

关于Jquery append()的问题
("#second_menus").empty().append(show_html);

jquery使用append添加文字,刷新怎样保证添加的文字不消失??
append用户输入的内容吗?这种需求比较普遍的做法应该是保存到数据库,append的同时把新内容post到后台数据库,下次这个用户再打开的时候从数据库读取这段内容展示。如果仅是希望本地读取H5的话可以把内容保存在本地LocalStorage。反正原理就一个就是把内容要寄存到一个刷新后不会丢失的介质中,下次打开页面...

jquery append($("$("ss")"))为什么只能添加进去一次
你那写法都是错的 正确语法 $("p").append(" Hello world!");

我使用jquery中的append方法,动态添加新的元素内容,新添加的元素上的o...
jquery中有一个叫live的方法:jQuery 给所有匹配的元素附加一个事件处理函数,即使这个元素是以后再添加进来的也有效。

前端jquery项目的append方法怎么使用?
jQuery的append() 方法能向选定元素的尾部追加新子元素。要使用该方法,需指定一个selector以指定目标元素,和一个content以定义添加内容。内容可以是HTML文本、DOM元素、jQuery对象,或回调函数的返回值。若使用回调函数,每次执行时返回HTML字符串、DOM元素或jQuery对象数组,其中数组索引代表元素在集合中的...

jquery用append语句加入一个div之后,再用语句操作加入后的div没反应
你这个click语句,是肯定不会执行的。因为你这个元素是后来添加的,而click事件的注册,在页面加载时就已经完成了(而此时还没有这个.largeImg元素)解决方法:把事件注册到document上面。这样当执行事件时,会冒泡触发。代码:(".largeImg").live("click",function(){ alert('作死的节奏啊!');})...

用jQuery的append()方法追加的html,在后面用什么选择器得到追加的元素...
比如下边这个例子,追加的元素就是直接加入的,看作一个字符串。('body').append('Another target');你可以声明一个字符,然后取得你需要追加的元素就好。

jquery的append方法添加的class无效
这种点击事件的绑定只适用于初始化已经存在的id,后面动态添加的控件不再享用。如果需要给动态添加的控件适用,语法为:(document).on('click','#demo1',function(){ alert('xxx');});

相似回答