请问老师为什么我这样写不行呢

请问老师为什么我这样写不行呢

如题,我想把a标签的背景全部变成红色于是试了试这样写,会报这样的错误请问是为什么呢?

http://img1.sycdn.imooc.com//climg/5d2943f20001d7ed10480186.jpg

http://img1.sycdn.imooc.com//climg/5d2943f20001f0d505480035.jpg


正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,  $(this).index()表示获取当前对象的索引值, 然后通过eq方法获取到对应索引值的a标签。 同学可以打印一下查看结果。

http://img1.sycdn.imooc.com//climg/5d2a8b3c0001f5c911440205.jpg

打印结果如下图所示,  因为同学是在ready事件下获取$(this)导致this指向了document, 获取的索引是-1,所以只有最后一个a链接的背景颜色被设置为红色

http://img1.sycdn.imooc.com//climg/5d2a8b4800019ea204560175.jpg

如果同学想要给所有的a链接设置背景颜色, 可以参考下面的写法, 直接获取所有的a标签,然后设置css样式。

http://img1.sycdn.imooc.com//climg/5d2a8bfd0001e98711510231.jpg

效果图:

http://img1.sycdn.imooc.com//climg/5d2a8c260001463d15420094.jpg

同学可以自己下去在测试一下哦

如果还有其他问题,建议把代码完整粘贴在问答区域(不要截图),以便老师更准确高效的为你指导

如果帮助到了你, 欢迎采纳!

祝学习愉快~~

好帮手慕夭夭 2019-07-13 13:46:56

你好同学,这个是语法使用不对导致报错,如下:

使用css方法设置一个属性的话,需要使用逗号隔开,而代码中使用了冒号,改过来哦

http://img1.sycdn.imooc.com//climg/5d296fb600012feb07220084.jpg

另外,它的用法参考如下理解:

http://img1.sycdn.imooc.com//climg/5d29704c0001014f05860169.jpg

如果还有其他问题,建议把代码完整粘贴在问答区域(不要截图),以便老师更准确高效的为你指导。

祝学习愉快,望采纳。

  • 提问者 Jyuloeng #1
    那请问 $('a').eq($(this).index()).css('background','red'); 这一句的意思是不是全选中a标签添加css样式呢,我测试发现只有最后一个a标签添加了样式是为什么呢
    2019-07-13 20:39:11
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
2.组件化网页开发
  • 参与学习           人
  • 提交作业       1121    份
  • 解答问题       14456    个

本阶段在运用JS实现动态网页开发的基础上,带你深入理解企业开发核心思想,完成一个企业级网页的开发,体验前端工程师的成就感。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师