html获取此次点击的id,.each()循环遍历子元素,对比已有元素,避免重复

之前写循环遍历习惯性用 for(){},可是此次忽然觉着无从下手了。

场景一:左侧九宫格菜单(显示栏),须要遍历获取每一个菜单的id,而后放到数组里。

下面是要遍历的HTML代码:

kszl.png

科室信息

kszl.png

健康知识

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

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));

}

}

bVbbemN?w=276&h=134

每一个id都输出了8次,这个地方我就不知道要怎么样用for循环将这些div进行遍历了,真的是基础不牢固吧,请你们指教一下。

下面是我用each()的实现方法。

$(selector).each(function(index,element)):规定为每一个匹配元素规定运行的函数。数组

$('#menuGrid .circlew div').each(function () {

console.log($(this).attr('id'));

})

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

$('#showMenu .addmenu div').each(function () {

var RemoveText = $(this).text().trim();//对比的是div的文本内容

console.log(RemoveText);

$('#showMenu .addmenu div:contains(' + RemoveText + ')').remove();

})

//这里也涉及到一个我之前没接触过的知识点 :contains 选择器选取包含指定字符串的元素。

//该字符串能够是直接包含在元素中的文本,或者被包含于子元素中。

//$(":contains(text)")

常常与其余元素/选择器一块儿使用,来选择指定的组中包含指定文本的元素

最终效果图:

bVba9XQ?w=1436&h=481函数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值