如何获取点击事件点击后前一个后一个的值。

for (var i = 0; i < pic.length; i++) {
        pic[i].onclick = function () {
            var aA = this.getAttribute("href");
            return false;
        }
    }

已经for循环遍历绑定点击事件,点击图片一的时候,已经可以获取到标签里面href的值(备注:href是A标签里面额跳转链接,return false是为了不跳转),现在我想获取到点击当前图案时候,上一个标签和下一个标签的href的值,让中间图片显示图案一,,左边图案显示图案4,右边图案显示图案2,该如何操作?

图片描述

阅读 4.1k
2 个回答

谢谢,你这种方法很好,在元素,及相邻的元素设置一个index的属性,我看明白了
我现在是这样写的,不过还要出来,如何让点第一个的时候出现第四个图
<script>

var pic = document.getElementById('pic').getElementsByTagName('a');
var pid = document.getElementById('pid').getElementsByTagName('img');
for (var i = 0; i < pic.length; i++) {
    pic[i].onclick = function () {
        var aA = this.getAttribute("href");
        var pid = document.getElementById('pid');
        pid.setAttribute("src", aA);
        var aB = this.parentNode.previousSibling.firstChild.getAttribute('href')
        pid.previousSibling.setAttribute('src', aB);

        var aC = this.parentNode.nextSibling.firstChild.getAttribute('href')
        pid.nextSibling.setAttribute('src', aC);
        return false;
    }
}

</script>

for (var i = 0; i < pic.length; i++) {
    pic[i].index=i;
    pic[i].onclick = function () {
        var aA = this.getAttribute("href");
        //如果当前是第一个,没有上一个,值获取下一个
        if(this.index===0){
            var aANext=pic[this.index-1].getAttribute("href");
        }
        //如果当前是最后一个,没有下一个,只获取上一个
        else if(this.index===pic.length-1){
             var aAPrev=pic[this.index-1].getAttribute("href");
        }
        //否则上下都获取
        else{
            var aAPrev=pic[this.index-1].getAttribute("href");
            var aANext=pic[this.index-1].getAttribute("href");
        }
        
        
        return false;
    }
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题