老师有个关于跳转到问题
来源:3-2 项目作业
wsc6016922
2020-10-22 22:42:56
我全都做完之后,想实现点击首页(index)的麦当劳商家图标,跳转到menu/menu.html下的menu页面,我是这么写的:
然后能成功实现,但是我想的是只点击麦当劳那个图标才跳转,点击其他的不跳转。结果点击所有的商家都能跳转
var $firstItem = $('.r-item-content').first() 不应该是获取第一个商家(麦当劳)吗?为什么都绑定上了呢
(其他地方和源码一致)
在这里输入代码,可通过选择【代码语言】突出显示
1回答
同学你好, $('.r-item-content').first() 这句代码确实是表示获取第一个商家(麦当劳),但是因为所有的r-item-content内容都是动态添加进去的,所以一开始是获取不到元素的。示例:
无法获取到元素
而且on方法中的第二个参数应该传递css选择器,如类选择器,id选择器等,而不是传递获取的元素,所以即使可以获取到元素,同学这种写法也是不正确的。
建议:可以通过事件委托,直接给.list-wrap下的所有子元素.r-item-content绑定点击事件,然后通过jQuery提供的index方法获取元素相对于它的同级元素的索引值。当索引值不等于0的时候,直接return返回,等于0之后,再执行跳转,这样就可以实现只有点击第一项的时候跳转到menu页面。示例:
祝学习愉快~
相似问题