项目踩坑点

1.动态加载元素绑定点击响应无反应

原因:由于添加内容的新dom产生之前js就加载完了,事件当然就没有绑定到新载入的dom上。

解决办法:

`` $(elems).on(events, selector, data, fn); //利用on事件绑定父元素,再通过selector获取指定标签

示例:
在这里插入图片描述
为评论区每个评论的回复按钮添加响应事件,由于评论是动态加载的,所以直接用click响应事件会无反应,但若直接调用on绑定指定元素的点击事件如:
$("#re>a").on("click",function(){});
点击事件也会无响应。解决办法就是绑定父元素,再选择父元素下的子元素。最好绑定body,或者document。如:
$(document).on("click","#rep>a",function(){});

2.页面多个相同元素,如何获取我们点击的元素及元素下的子元素?

如上图页面,我将每一条评论定义为一个msg-list-item。随着评论数的增多,如何获取我们选定的item下的“回复”标签。
在这里插入图片描述
**解决方法:**利用index索引,获取我们点击元素的索引值。在利用过滤选择器eq()就可以得到是第几个item。最后利用筛选选择器children(selector)或者find(selector)获取子元素。如:

$(document).on("click","#rep>a",function(){	
				var i = $('#rep>a').index(this);	//一定要加上this,选定我们点击的元素
				$(".msg>.msg-list-item").eq(i).find(".reply-box").toggle();
			});
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值