.each()循环遍历子元素,对比已有元素,避免重复

news/2025/4/22 2:07:41
以前写循环遍历习惯性用 for(){},但是这次突然觉着无从下手了。
场景一:左侧九宫格菜单(显示栏),需要遍历获取每个菜单的id,然后放到数组里。
下面是要遍历的HTML代码:<section id="menuGrid" class="menug col-sm-12 "><div class="circlew"><div id="Cate101" class="col-sm-4 col-xs-6 circle"><img src="img/wxhtml/kszl.png" /><p>科室信息</p><span class="glyphicon glyphicon-minus-sign hide"></span></div><div id="Cate102" class="col-sm-4 col-xs-6 circle"><img src="img/wxhtml/kszl.png" /><p>健康知识</p><span class="glyphicon glyphicon-minus-sign hide"></span></div></div></section

用for循环的时候,得不到想要的效果

for (var i = 0; i < $('#menuGrid .circlew div').length; i++) {if ($(this).attr('id') != undefined) {//id为undefined时,substr报错console.log('ceshi:' + $(this).attr('id').substr(4));}}

图片描述

每个id都输出了8次,这个地方我就不知道要怎么样用for循环将这些div进行遍历了,真的是基础不牢固吧,请大家指教一下。
下面是我用each()的实现方法。
$(selector).each(function(index,element)):规定为每个匹配元素规定运行的函数。

    $('#menuGrid .circlew div').each(function () {console.log($(this).attr('id'));})

场景二:点击左侧的加号,出现右侧编辑栏里没有选中的选项,左边移除不想要的选项到了右边,再点击加号,就需要遍历右边已有的所有元素,对比已有的元素,重复的不添加(因为这里做的是点击加号就需要加载一次一开始没有选中的选项)

$('#showMenu .addmenu div').each(function () {var RemoveText = $(this).text().trim();//对比的是div的文本内容console.log(RemoveText);$('#showMenu .addmenu div:contains(' + RemoveText + ')').remove();
})
//这里也涉及到一个我以前没接触过的知识点  :contains 选择器选取包含指定字符串的元素。
//该字符串可以是直接包含在元素中的文本,或者被包含于子元素中。
//$(":contains(text)")

经常与其他元素/选择器一起使用,来选择指定的组中包含指定文本的元素
最终效果图:
图片描述


https://dhexx.cn/news/show-2095713.html

相关文章

git干货系列:(四)我要连接远程仓库(github,coding)

原本地址&#xff1a;git干货系列&#xff1a;&#xff08;四&#xff09;我要连接远程仓库&#xff08;github&#xff0c;coding&#xff09;博客地址&#xff1a;tengj.top/ 前言 Git本地操作的熟练了后&#xff0c;就可以尝试连接远程仓库了&#xff0c;目前国内外比较出名…

《机器学习与数据科学(基于R的统计学习方法)》——1.3 机器学习的过程

本节书摘来异步社区《机器学习与数据科学&#xff08;基于R的统计学习方法&#xff09;》一书中的第1章&#xff0c;第1.3节&#xff0c;作者&#xff1a;【美】Daniel D. Gutierrez&#xff08;古铁雷斯&#xff09;&#xff0c;更多章节内容可以访问云栖社区“异步社区”公众…

Java-学习笔记-7-多态

不足之处&#xff0c;欢迎专家、同行、读者批评指正。关于多态&#xff0c;我在学的时候遇到了不同的划分范畴的说法。一种理解是&#xff0c;子类对象分别各自实现父类对象的同一个方法。而我本科所用的教材&#xff0c;则是说这个有子类对象作为父类对象引用、子类对父类方法…

(六十一)springcloud+springboot+uniapp+vue b2b2c 分布式微服务电子商务商城之Feign调用前统一申请Token传递到调用的服务中

如果项目中用的是 HttpClient 或者 RestTemplate 之类的调用接口&#xff0c;则可以在调用之前申请 Token&#xff0c;然后将其塞到请求头中。 在Spring Cloud中消费接口肯定是用 Feign 来做的&#xff0c;这意味着我们需要对 Feign 进行改造&#xff0c;需要往请求头中塞上我…

企业级API网关,API流量的统一入口

RestCloud API网关产品是国内最早完全基于Java语言自主研发的企业级API网关&#xff0c;其具高稳定性、高性能、易于维护等特点、API网关产品作为所有业务系统API流量的统一入口&#xff0c;承担着非常重要的数据传输及多协议转换工作&#xff0c;API网关最核心的作用是对服务进…

利用nginx做反向代理解决前端跨域问题

最近朋友再群里提了一个问题,他们公司给他提供了一个获取数据的接口,在浏览器访问这个接口能获取到json数据,但是放在项目里使用ajax就产生了跨域问题,一般这个需要提供接口的后台方面需要做跨域处理,但是提供接口的不是他们公司的,然后就问大家有没有解决方案. 正好这几天看了…

python listdir 忽略 隐藏文件_Python 忽略文件名编码的方法

问题你想使用原始文件名执行文件的I/O操作&#xff0c;也就是说文件名并没有经过系统默认编码去解码或编码过。解决方案默认情况下&#xff0c;所有的文件名都会根据 sys.getfilesystemencoding()返回的文本编码来编码或解码。比如&#xff1a;>>> sys.getfilesysteme…

前端每日实战:32# 视频演示如何用纯 CSS 创作六边形按钮特效

效果预览 按下右侧的“点击预览”按钮可以在当前页面预览&#xff0c;点击链接可以全屏预览。 https://codepen.io/comehope/pen/xjoOeM 可交互视频教程 此视频是可以交互的&#xff0c;你可以随时暂停视频&#xff0c;编辑视频中的代码。 请用 chrome, safari, edge 打开观看。…

不要小看了get 与set

不知道大家曾经是怎么使用实体中的get与set的.我先前是这样使用的. 先定义一个实体类.之后写与之相关的字段名称.最后匹配上与之相关的属性,控制字段的读写权限. 曾经使用方式 代码1 public class product{private string code;private string commodity_Name;public string Co…

《Linux C编程从入门到精通》——2.3 Linux中的代码编辑器vim

本节书摘来自异步社区《Linux C编程从入门到精通》一书中的第2章&#xff0c;第2.3节&#xff0c;作者&#xff1a;宋磊 , 程钢著&#xff0c;更多章节内容可以访问云栖社区“异步社区”公众号查看 2.3 Linux中的代码编辑器vim 在Linux中开发C语言应用代码&#xff0c;首先需要…