为了账号安全,请及时绑定邮箱和手机立即绑定

以下代码实现选项卡的功能,其中a [ i ].index=i;和p[this.index]不明白??

以下代码实现选项卡的功能,其中a [ i ].index=i;和p[this.index]不明白??

猛跑小猪 2019-03-21 18:15:35
<!doctype html><html><head><meta charset="UTF-8"><title></title>    <style>        a{            text-decoration: none;            display: inline-block;            background: #000;            color: #fff;            text-align: center;            width: 100px;            height:40px;            line-height: 40px;            font-size: 25px;        }        p{            border:4px solid #000;            display: none;            height: 300px;        }    </style></head><body><a style="background: red;" href="#">第一个</a><a href="#">第二个</a><a href="#">第三个</a><p style="display: block">第一个的内容</p><p>第二个的内容</p><p>第三个的内容</p><script>    var a = document.querySelectorAll('a');    var p = document.querySelectorAll('p');    for(var i=0;i<a.length;i++){        a[i].index = i;        a[i].onclick = function () {            for(var j=0;j<a.length;j++){                a[j].style.background = '#000';                p[j].style.display = 'none';            }            this.style.background = 'red';            p[this.index].style.display = 'block';        }    }</script></body></html>其中js代码中 a[i].index = i;和p[this.index].style.display = 'block';不明白??为什么不能直接使用p[i].style.display?这行a[i].index = i;代码什么意思
查看完整描述

3 回答

?
三国纷争

TA贡献1804条经验 获得超7个赞

执行完之后,你的i一直为a.length的值


查看完整回答
反对 回复 2019-03-30
?
幕布斯7119047

TA贡献1794条经验 获得超8个赞

这个是对多个a标签赋予动作,因为前面查询到的a标签有多个,所以a[i]就是依次取不同的a标签元素进行处理。
p标签的也是类似的。
这个应该是一个切换选项卡效果,它先把所有的p标签都隐藏,然后选择一个取消隐藏来显示。p[this.index]这里因为是指一个a的触发函数中,所以会取到对应a的index值。

查看完整回答
反对 回复 2019-03-30
  • 3 回答
  • 0 关注
  • 536 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信